1. Excelencia Académica para un mundo globalizado
APUNTES SQL
Asignatura : Lenguaje de Programación II (IS505)
Semestre : 2014-I
Turno : Noche
Por : Ing° Oscar Alberto Barnett Contreras
2. Excelencia Académica para un mundo globalizado
SQL
• SQL es un lenguaje declarativo diseñado para gestionar
una base de datos relacional.
• Existen varias versiones del estándar, siendo las últimas:
– SQL-92 (SQL-2), ANSI 1992, ISO/IEC 1994.
– SQL-2003
– SQL-2006
– SQL-2008
– SQL-2011
• El soporte del estándar es muy variado
– Algunas bases de datos soportan subconjuntos.
– Otras bases de datos soportan extensiones propietarias.
– Cada base de datos tiene un manual con los elementos de SQL
que soporta.
3. Excelencia Académica para un mundo globalizado
SQL - Comandos
• Los comandos SQL se dividen en categorías:
– Lenguaje de Manipulación de datos (DML)
• Obtiene, Inserta, Borra y actualiza datos
• SELECT, INSERT, DELETE, UPDATE
– Lenguaje de Definición de datos (DDL)
• Crea, borra y cambia tablas, usuarios, vistas, índices…
• CREATE TABLE, DROP TABLE, ALTER TABLE
– Lenguaje de Control de datos (DCL)
• Permisos y Derechos de Usuarios…
• GRANT, DENY, REVOKE
4. Excelencia Académica para un mundo globalizado
SQL - Sentencia SELECT
• También conocido como statement o query (consulta).
• Permite recuperar la información de una o varias tablas.
• Especifica uno o más campos, una o más tablas y un criterio de
selección:
– SELECT <lista_campos>
– FROM <tabla> [ INNER JOIN <tabla2> ON <ExpresionDeEnlace> ]
– WHERE <FiltroDeFilas>
– ORDER BY <ExpresionParaOrdenamiento>
– GROUP BY <ExpresionParaAgrupamiento>
– HAVING <FiltroDeGrupos>
• La base de datos devuelve los campos indicados de aquellas filas que
cumplan el criterio de selección.
5. Excelencia Académica para un mundo globalizado
SELECT *
FROM Libros
Conjunto de resultados (ResultSet)
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
Tabla Libros
Consulta que devuelve
todas las filas de la tabla
Base de
Datos
Inicial
6. Excelencia Académica para un mundo globalizado
SQL - Cláusula WHERE
• Operador LIKE (Comparación de cadenas)
• Operadores relacionales (<,=,…) lógicos (AND,
OR)
SELECT titulo, precio
FROM Libros
WHERE titulo LIKE 'Ba%';
SELECT titulo, precio
FROM Libros
WHERE precio > 3
AND titulo LIKE '%Man';
7. Excelencia Académica para un mundo globalizado
SQL - Cláusula WHERE
SELECT titulo, precio
FROM Libros
WHERE precio > 2
Conjunto de resultados (ResultSet)
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
Tabla Libros
Base de
Datos
Inicial
Consulta
8. Excelencia Académica para un mundo globalizado
SQL - Uniones (JOINS)
• Se pueden unir internamente varias tablas en una
consulta
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
Tabla Libros idAutor nombre nacionalidad
1 Barnett Peruano
2 Gosling EstadoUnidense
Tabla Autores
idLibro idAutor
1 1
2 2
3 2
Tabla RelacionLibroAutor
9. Excelencia Académica para un mundo globalizado
SQL - Uniones (JOINS)
• Se pueden unir internamente varias tablas en una
consulta
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
Tabla Libros idAutor nombre nacionalidad
1 Barnett Peruano
2 Gosling EstadoUnidense
Tabla Autores
idLibro idAutor
1 1
2 2
3 2
Tabla RelacionLibroAutor
10. Excelencia Académica para un mundo globalizado
SQL - Uniones (JOINS)
SELECT L.titulo, L.precio, A.nombre
FROM Libros L INNER JOIN RelacionLibroAutor R
ON L.IdLibro = R.idLibro
INNER JOIN Autores A
ON R.idAutor = A.idAutor;