Dominando la Sentencia SELECT en SQL: Sintaxis y Funciones Agregadas

Informática y Telecomunicaciones3,88 KB

Estructura y Sintaxis de la Sentencia SELECT

SELECT [predicado] {* | tabla.* | [tabla.]campo1 [AS alias1] [, [tabla.]campo2 [AS alias2] [, …]]}

  • FROM: expresión Tabla [, …] [IN baseDatosExterna]
  • [WHERE…]: Cláusula de filtrado de registros.
  • [GROUP BY…]: Cláusula de agrupación de resultados.
  • [HAVING…]: Filtro para grupos específicos.
  • [ORDER BY…]: Cláusula de ordenación de los datos.

Apartados y Definiciones

  • *: Indica que se seleccionan todos los campos de la tabla.
  • Tabla: Nombre de la tabla de la que se obtienen los registros.
  • Campo1, campo2, …: Nombres de los campos que contienen la información que queremos recuperar.
  • Alias1, alias2, …: Nombre que se le va a dar a las columnas en lugar de los nombres originales.
  • Expresión de tabla: Nombre de la tabla o tablas que contienen los datos a recuperar.

Consideraciones sobre el comando SELECT

El comando SELECT no modifica el contenido de la base de datos (BD).

  • Sintaxis mínima: SELECT campos FROM tabla;
  • Si se seleccionan campos de más de una tabla, se debe usar la nomenclatura tabla.campo.

Funciones de Agregación en SQL

MAX y MIN

MAX([DISTINCT] expr), MIN([DISTINCT] expr): Retorna los valores máximos y mínimos de una expresión. Pueden tener un argumento.

  • Ejemplo: SELECT student_name, MIN(test_score), MAX(test_score) FROM student GROUP BY student_name;

AVG (Promedio)

AVG([DISTINCT] expr): Retorna el valor medio de la expresión. Si el conjunto de resultados no tiene registros, SUM() retorna NULL.

  • Ejemplo: SELECT student_name, AVG(test_score) FROM student GROUP BY student_name;

Ordenación de Resultados con ORDER BY

Ejemplo: Obtener los alumnos ordenados por apellidos.

SELECT * FROM alumnos ORDER BY apellido1, apellido2, nombre;

Agrupación y Conteo: GROUP BY y COUNT

COUNT(*)

Retorna el contador del número de valores no NULL en los registros recibidos por una sentencia SELECT.

  • Ejemplo: SELECT student.student_name, COUNT(*) FROM student, course WHERE student.student_id = course.student_id;

COUNT(DISTINCT expr…)

Retorna un contador del número de valores no NULL distintos.

  • Ejemplo: SELECT COUNT(DISTINCT results) FROM student;

SUM (Suma de Valores)

SUM([DISTINCT] expr): Retorna la suma de la expresión. Si el conjunto de resultados no tiene registros, SUM() retorna NULL.

  • Ejemplo: SELECT tipo, modelo, SUM(cantidad) FROM existencias GROUP BY tipo, modelo;

Repetición de Funciones: AVG

AVG([DISTINCT] expr): Retorna el valor medio de la expresión. Si el conjunto de resultados no tiene registros, SUM() retorna NULL.

  • Ejemplo: SELECT student_name, AVG(test_score) FROM student GROUP BY student_name;

Repetición de Funciones: MAX y MIN

MAX([DISTINCT] expr), MIN([DISTINCT] expr): Retorna los valores máximos y mínimos de una expresión. Pueden tener un argumento.

  • Ejemplo: SELECT student_name, MIN(test_score), MAX(test_score) FROM student GROUP BY student_name;

Descargar

PDF Word HTML