Sentencias SQL

Algunas sentencias SQL para ir repasando

Libro de sentencias

Select

SELECT columna1, columna2, … FROM tabla;

SELECT * FROM tabla;

SELECT DISTINCT columna1, columna2, … FROM tabla;

SELECT columna1, columna2, … FROM tabla WHERE condition;

Condiciones:

SELECT columna1, columna2, … FROM tabla WHERE condicion1 AND condicion2 AND condicion3 …;

SELECT columna1, columna2, … FROM tabla WHERE condicion1 OR condicion2 OR condicion3 …;

SELECT columna1, columna2, … FROM tabla WHERE NOT condicion;

SELECT columna(s) FROM tabla WHERE columna BETWEEN valor1 AND valor2;

SELECT columna1, columna2, … FROM tabla WHERE column LIKE patrón;

% Representa cero o más caracteres _ Representa un solo caracter [] Representa cualquier caracter solo indicado entre corchetes ^ Representa cualquier caracter que no esté incluido entre corchetes[^]

  • Representa un rango de caracteres

Aplicación:

pondremos un caracter _ para cada caracter individual que queramos considerar

pondremos un caracter % para expresar una secuencia de caracteres, que puede no estar formada por ninguno

recuerden que irá entrecomillado. Ej: WHERE nombre LIKE ‘j—’ o WHERE nombre LIKE ‘ju%’

Funciones de agregación

COUNT | Nos da el número total de filas seleccionadas SUM | Suma los valores de una columna MIN | Nos da el valor mínimo de una columna MAX | Nos da el valor máximo de una columna AVG | Calcula el valor medio de una columna

Ej:

SELECT MIN(columa) FROM tabla WHERE condicion;

SELECT MAX(columna) FROM tabla WHERE condicion;

// predicados BETWEEN, IN, LIKE, IS NULL, ANY, SOME, ALL, EXISTS ORDENACIÓN AGRUPACIÓN SUBCONSULTAS

Subconsultas

SELECT columna(s) FROM tabla WHERE condicion GROUP BY columa(s) ORDER BY columna(s);

Ej:

SELECT COUNT(estudiante_id), curso FROM cursos GROUP BY curso;

SELECT COUNT(estudiante_id), curso FROM cursos GROUP BY curso ORDER BY COUNT(estudiante_id) DESC;

Having Se introduce porque WHERE no puede tener funciones agregadas. O sea, se usa para funciones agregadas ;p

SELECT columna(s) FROM tabla WHERE condicion GROUP BY columna(s) HAVING condicion ORDER BY columna(s);