Subido por antoni tito muñoz

1 Sesion 01 Consultas

Anuncio
Universidad Nacional Federico Villarreal
Escuela de Ingeniería de Sistemas
Curso de Taller de Base de Datos
Sesión 1: Lenguaje SQL
Consultas Básicas - DML
Ing. Ivan Crispin Sanchez
Componentes del SQL
Comandos SQL
Cláusulas
Operadores
Sentencia Select
Selecciona filas y columnas de una tabla
Son tres las claúsulas básicas de la sentencia SELECT
• SELECT
especifica las columnas
• FROM
especifica las tablas
• WHERE
establece un criterio sobre las filas
SELECT *
Recupera todas las columnas
SELECT sin WHERE recupera todas las filas
Select *
Select * From productos
codProd desProd
Precio
Stock
Proveedor
A001
Camisas
65.50
50 M & H s.a.
A002
Pantalones
75.00
100 Zeta Import s.a.
A003
Corbatas
35.00
120 Diaz Hnos. s.a.
A004
Casacas
115.50
160 M & H s.a.
A005
Billeteras
30.00
15 M & H s.a.
A006
Pañuelos
5.00
60 S & S s.a.
A007
Sacos
150.00
30 K & B s.a.
Eligiendo columnas
Select desProd, Precio, Stock From productos
desProd
Precio
Stock
Camisas
65.50
50
Pantalones
75.00
100
Corbatas
35.00
120
Casacas
115.50
160
Billeteras
30.00
15
Pañuelos
5.00
60
150.00
30
Sacos
Eligiendo filas
Select * From productos
Where Proveedor = ‘M & H s.a.’
codProd desProd
Precio
Stock
Proveedor
A001
Camisas
65.50
50 M & H s.a.
A004
Casacas
115.50
160 M & H s.a.
A005
Billeteras
30.00
15 M & H s.a.
Eligiendo filas basados en rangos
Select * From productos
Where precio BETWEEN 100 AND 150
codProd desProd
Precio
Stock
Proveedor
A004
Casacas
115.50
160 M & H s.a.
A007
Sacos
150.00
30 K & B s.a.
Nota: También se puede utilizar NOT BETWEEN
Eligiendo filas basadas en listas
Select * From productos
Where proveedor IN (‘M & H s.a.’, ‘K & B s.a.’)
codProd desProd
Precio
Stock
Proveedor
A001
Camisas
65.50
50 M & H s.a.
A004
Casacas
115.50
160 M & H s.a.
A005
Billeteras
30.00
15 M & H s.a.
A007
Sacos
150.00
30 K & B s.a.
Nota: También se puede aplica IN en Subconsultas
Eligiendo filas basadas en cadenas
Select * From productos
Where desProd LIKE ‘C%’
codProd desProd
Precio
A001
Camisas
65.50
A003
Corbatas
35.00
A004
Casacas
115.50
Stock
Proveedor
50 M & H s.a.
120 Diaz Hnos. s.a.
160 M & H s.a.
COMPARACIÓN DE SUBCADENAS
El operador de comparación LIKE es usado para comparar cadenas parciales.
Dos caracteres reservados son usados: ‘%’ (ó ‘*’ en algunas implementaciones) reemplaza un número
arbitrario de caracteres y ‘_’ reemplaza un carácter arbitrario simple.
Consulta 1: Recuperar todos los empleados cuyas direcciones están en Houston, Texas. Aquí, el
valor del atributo ADDRESS tiene que contener la subcadena ‘Houston, Texas’.
SELECT FNAME, LNAME
FROM EMPLOYEE WHERE ADDRESS LIKE ‘%Houston,TX%’;
Consulta 2: Recuperar todos los empleados que nacieron durante los años 50’s. Aquí, ‘5’ tiene que
ser el octavo carácter de la cadena (de acuerdo al formato para la fecha dd-mm-aaaa), de manera
que el valor de BDATE es ‘________5_’, con cada guión bajo reservando un lugar para cada carácter
arbitrario simple.
SELECT FNAME, LNAME
FROM EMPLOYEE
WHERE BDATE LIKE ‘________5_ ’;
El operador LIKE nos permite considerar cada valor como atómico o indivisible de la misma manera
en que SQL trata a sus cadenas.
Distinct
Select distict precio From productos
codProd
desProd
Precio
Stock
Proveedor
A001
Camisas
65.50
50
A002
Pantalones
75.00
100
Zeta Import s.a.
A003
Corbatas
35.00
120
Diaz Hnos. s.a.
A004
Casacas
150.00
160
M & H s.a.
A005
Billeteras
30.00
15
M & H s.a.
A006
Pantalones XQ
75.00
60
S & S s.a.
A007
Sacos
150.00
30
K & B s.a.
M & H s.a.
Precio
65.50
75.00
35.00
150.00
30.00
NULLS EN CONSULTAS SQL
SQL permite consultas que chequen si un valor es
NULL (perdido, indefinido ó no aplicable)
SQL usa IS ó IS NOT para comparar valores nulos
porque este considera cada NULL distinto de otro valor
NULL, por lo tanto la comparación por igualdad no es
apropiada.
Consulta: Recuperar los nombres de todos los
empleados quienes no tienen supervisores.
SELECT FNAME, LNAME
FROM EMPLOYEE
WHERE SUPERSSN IS NULL;
EJERCICIOS
EJERCICIOS
EJERCICIOS
EJERCICIOS
EJERCICIOS
EJERCICIOS
EJERCICIOS
EJERCICIOS
Descargar