Informática Documental

Anuncio
Informática Documental
Consultas SQL
SQL: Lenguaje de consulta (query) estructurado.
Formato de una consulta de selección (SELECT):
SELECT campos-seleccion FROM tablas;
Cláusulas:
1. WHERE: Permite seleccionar únicamente las filas que cumplan una determinada
condición. Formato:
SELECT campos-seleccion FROM tablas WHERE condicion;
Ejemplos:
Mostrar los datos del alumno que tenga como DNI 78.901.234 en la tabla alumnos:
SELECT * FROM alumnos WHERE DNI=’78901234’;
Mostrar el nombre y apellido de los alumnos cuyo nombre comience por ‘Jon’:
SELECT Nombre, Apellido FROM alumnos
WHERE Nombre LIKE ’Jon%’;
Operadores para condiciones:
•
•
•
•
•
•
•
•
•
•
•
= : igual
<>: no igual
> mayor, < menor, etc.
OR, AND: para enlazar condiciones
( ): para agrupar condiciones y expresar el orden de evaluación
IN: para establecer listas de valores
BETWEEN: para establecer rangos de valores
LIKE: para patrones especiales (con %, * o con _)
DISTINCT: únicamente valores no repetidos
NOT: niega la condición
+, -, *, / : para establecer una condición calculada.
Funciones de columna:
•
•
•
COUNT: da el número de valores, en lugar de los valores.
SUM: da la suma de los valores (se tienen que poder sumar).
AVG: da la media de los valores (se tiene que poder calcular).
1
•
•
MAX: da el valor máximo.
MIN: da el valor mínimo.
2. ORDER BY: Permite especificar un determinado orden a la hora de mostrar los
resultados de una consulta Formato:
SELECT campos-selecccion FROM tablas WHERE condición
ORDER BY campos-ordenacion {ASC|DESC};
Ejemplos:
Mostrar una lista de los nombres y apellidos de los alumnos contenidos en la tabla
“alumnos” ordenada por DNI de manera descendente:
SELECT Nombre, Apellido FROM alumnos ORDER BY DNI DESC;
Mostrar una lista de los alumnos que tengan un DNI superior a 70.000.000
contenidos en la tabla “alumnos” ordenada por DNI:
SELECT * FROM alumnos WHERE DNI > 70000000 ORDER BY DNI;
3. GROUP BY / HAVING: Permite agrupar los resultados de una consulta en función
de un conjunto de campos y finalmente seleccionar aquellos grupos que cumplan una
determinada condición Formato:
SELECT campos-selecccion FROM tablas WHERE condición
GROUP BY campos-agrupacion
HAVING condicion-agrupacion
ORDER BY campo-ordenacion {ASC|DESC};
Ejemplo:
Mostrar una lista, ordenada por DNI, del nombre y apellido y nota media de los
alumnos almacenados en una base de datos:
SELECT Nombre, Apellido, AVG(Nota) FROM alumnos, notas
WHERE alumnos.DNI = notas.DNI
GROUP BY DNI
ORDER BY DNI DESC;
Mostrar una lista ordenada de códigos de piezas de la tabla “piezas” de todas las
piezas que tengan más de 1 proveedor:
SELECT CodigoPieza FROM piezas
GROUP BY CodigoProveedor
HAVING COUNT(*) > 1
ORDER BY CodigoPieza;
2
Descargar