2. Tema: SQL - QL
Presentación del tema
Material: edutech5.webnode.es
Practico: Practico 5 – SQL
Docente: T. /RT Alvaro Loustau
Fuente: . Elmasri, R. and Navathe, S. (1989). Fundamentals of
database systems. 1st ed. Redwood City, Calif.: Benjamin/Cummings.
. https://eva.fing.edu.uy/course/view.php?id=330
3. Query Language
•QL (Query Language) es el conjunto de sentencias
dedicadas a la consulta de los datos. Estas
sentencias están enmarcadas también dentro del
DML.
• Se manejan tres objetos de consultas:
• Tablas
• Vistas
• Usuarios
4. Query Language
•Tablas:
Una tabla es un conjunto de valores organizados en filas y
columnas. Es la representación de una relación aunque no son
estrictamente equivalentes.
• Vistas
Una vista es una tabla virtual basada en el resultado de una
consulta. Pueden usarse en consultas como si fueran tablas.
5. Consultas y Recuperación de Datos
Una de las principales funciones para lo cual queremos una Base
de Datos es para poder consultar los datos de forma ordenada,
con facilidad y que esta nos entregue información confiable y
certera.
Las primeras 3 clausulas que veremos son:
• SELECT
• FROM
• WHERE
Proyección
Selección
(Tabla)≅
6. Consultas y Recuperación de Datos
La estructura de la consulta básica es:
SELECT [Columna o Atributo] FROM [Tabla] WHERE [Condición]
¿Qué queremos ver?
¿De dónde lo queremos?
¿Bajo que condición lo queremos?
7. Consultas y Recuperación de Datos
• El uso del * en el SELECT denota “Todos los Atributos” de la
relación sobre la que hacemos la consulta
SELECT * FROM [Tabla]
• Las clausulas del SELECT también pueden incluir operadores
matemáticos como: +, -, *(Como Multiplicacion) y /. Operan
siempre y cuando el tipo de datos del atributo sea numérico.
8. Consultas y Recuperación de Datos
• La clausula WHERE especifica condiciones que el resultado
debe cumplir.
• Las condiciones impuestas al resultado pueden ser combinadas
con operadores lógicos: AND, OR y NOT
• También pueden aplicarse operaciones aritméticas.
• = , > , < , >=, <=, <>
9. Consultas y Recuperación de Datos
• Operadores aplicables al WHERE:
• AND, OR, NOT
• = , > , < , >=, <=, <>
• BETWEEN m AND n
• IN (Lista)
• LIKE [Patron]
• IS [Not] NULL
10. Consultas y Recuperación de Datos
• Dada la Tabla: Estudiantes (Nombre, Apellido, Nota)
• Se desea saber los nombres de los estudiantes con nota
superior a 8.
SELECT Nombre FROM Estudiantes WHERE Nota >= 8;
Nombre Apellido Nota
Luis Suarez 10
Edinson Cavani 11
Egidio Arévalo 5
11. Descartar repetidos - DISTINCT
• Dada la Tabla: Jugadores (Nombre, Apellido, Dorsal, Pos)
• Se desea saber cuales son las posiciones que existen en la
selección, pero que no se repitan.
SELECT DISTINCT Pos FROM Jugadores;
Nombre Apellido Dorsal Pos
Luis Suarez 9 Delantero
Edinson Cavani 22 Delantero
Egidio Arévalo 5 Volante de
Marca
12. Renombrar columnas - AS
• Se emplea cuando hay alguna condición compleja y una
columna que se llama igual en dos tablas se quiere diferenciar
SELECT Dorsal AS Camiseta FROM Jugadores;
13. Condiciones en Strings
• Cuando deseamos comparar Strings para comprobar si cumplen
con coincidencias o con algunos caracteres iguales.
• LIKE
• % : 0 o varios caracteres faltantes
• _ : 1 caracter faltante.
• = (Igualdad)
SELECT Nombre FROM Jugadores WHERE Pos LIKE ‘Def%’
14. Ordenar elementos – ORDER BY
• Se emplea cuando queremos ordenar los resultados de una
consulta para que aparezcan de forma ascendente o
descendente.
Se desea conocer el nombre y las edades de los jugadores
ordenados por edad, de forma ascendente>
SELECT nombre, edad FROM jugadores ORDER BY edad ASC
15. Limitar Elementos Retornados
• Operador TOP
• Se utiliza cuando deseamos limitar la cantidad de resultados
Ejemplo: Se desea saber cuales son los 5 jugadores de mayor
edad en la tabla jugadores.
SELECT TOP 5 nombre, edad FROM jugadores ORDER BY edad
DESC
16. Funciones de agregación
•Permiten operar con varios elementos en una
columna
• AVG – Promedio
• SUM – Suma
• MIN, MAX – Mínimo y Máximo
• COUNT - Contar
17. Funciones de agregación
•SELECT COUNT(jugador) FORM jugadores
Muestra la cantidad de jugadores que existe en la tabla
•SELECT AVG(Peso) FROM jugadores
Muestra el peso promedio de los jugadores
•SELECT MAX(edad) FROM Jugadores
Muestra la máxima edad de los jugadores
18. Operador JOIN
JOIN es un operador que se utiliza para combinar datos
de dos o más tablas, basados en una relación entre
determinadas columnas en estas tablas.
En el JOIN sólo se incluyen en el resultado tuplas que
coincidan en valor, con los campos del JOIN.
19. Operador JOIN - Ejemplo
Dadas las Tablas:
• Selecciones (IdSel, Nombre, CantPersonal)
• Jugadores (IdJug, Nombre, Apellido, Dorsal, Pos, IdSel)
Obtener el Nombre de los Jugadores de la Selección Uruguaya de
Futbol
SELECT Nombre FROM (Jugadores JOIN Selecciones ON
Jugadores.IdSel = Selecciones.IdSel) WHERE
Selecciones.Nombre = ‘Uruguay’
20. Operador JOIN - Ejemplo
Segunda Forma:
• Selecciones (IdSel, Nombre, CantPersonal)
• Jugadores (IdJug, Nombre, Apellido, Dorsal, Pos, IdSel)
Obtener el Nombre de los Jugadores de la Selección Uruguaya de
Futbol
SELECT J.Nombre FORM Jugadores J, Selecciones S
WHERE J.IdSel = S.IdSel AND S.Nombre = ‘Uruguay’
21. Operador JOIN - Ejemplo
SELECT J.Nombre FORM Jugadores J, Selecciones S
WHERE J.IdSel = S.IdSel AND S.Nombre = ‘Uruguay’
Alias de la Tabla Jugadores
JOIN Condición del WHERE