Union, Intersect, Minus SELECT codpue FROM pueblos WHERE UPPER(nombre) LIKE ‘S%’ UNION SELECT codpue FROM pueblos WHERE UPPER(nombre) LIKE ‘%N%’; TABLA PUEBLOS CODPUE NOMBRE CODPRO 250 10 490 19 45 67 14 44 46 12 12 34 22 23 SARRION LLIRIA ONDA TERESA PULPI SORIA TOLEDO II18--Universitat Jaume I 1 Union, Intersect, Minus SELECT codpue FROM pueblos WHERE UPPER(nombre) LIKE ‘S%’ UNION SELECT codpue FROM pueblos WHERE UPPER(nombre) LIKE ‘%N%’; RESULTADO CODPUE 250 490 67 TABLA PUEBLOS CODPUE NOMBRE CODPRO 250 10 490 19 45 67 14 44 46 12 12 34 22 23 SARRION LLIRIA ONDA TERESA PULPI SORIA TOLEDO CODPUE CODPUE 250 67 250 490 II18--Universitat Jaume I 2 1 Union, Intersect, Minus SELECT [DISTINCT] { * | tabla.col [, tabla.col ] } FROM tabla [, tabla ] [ WHERE condición_búsqueda ] [GROUP BY tabla.col [, tabla.col ] [HAVING condición_para_el_grupo ] ] [ { UNION | INTERSECT | MINUS } SELECT ... ]; II18--Universitat Jaume I 3 Union, Intersect, Minus Código de los pueblos en los que no tenemos clientes: SELECT codpue FROM pueblos MINUS SELECT codpue FROM clientes; II18--Universitat Jaume I 4 2 Union, Intersect, Minus Nombre de pueblos que tienen el mismo nombre en las provincias con código ‘12’ y ‘14’: SELECT nombre FROM pueblos WHERE codpro = ‘12’ INTERSECT SELECT nombre FROM pueblos WHERE codpro = ‘14’; II18--Universitat Jaume I 5 Ordenación SELECT [DISTINCT] { * | tabla.col [, tabla.col ] } FROM tabla [, tabla ] [ WHERE condición_búsqueda ] [GROUP BY tabla.col [, tabla.col ] [HAVING condición_para_el_grupo ] ] [ { UNION | INTERSECT | MINUS } SELECT ... ] [ORDER BY tabla.col [ ASC | DESC ] [, tabla.col [ ASC | DESC ] ]; II18--Universitat Jaume I 6 3 Ordenación SELECT codcli, nombre FROM clientes WHERE codpue IS NOT NULL ORDER BY nombre ASC; RESULTADO TABLA CLIENTES CODCLI NOMBRE DIRECCION CODPOSTAL CODPUE 20 13 12 27 ‘Barcelona 2’ ‘Peñas 5’ ‘Prim 7’ ‘Peñas 24’ ‘13004’ ‘15008’ ‘12003’ ‘15008’ ‘José Pérez’ ‘María Gil’ ‘Luis Sorlí’ ‘María Gil’ ‘1400’ ‘1456’ ‘1456’ CODCLI NOMBRE 20 13 27 ‘José Pérez’ ‘María Gil’ ‘María Gil’ II18--Universitat Jaume I 7 Ordenación SELECT codcli, nombre FROM clientes WHERE codpue IS NOT NULL ORDER BY nombre, codcli DESC; RESULTADO TABLA CLIENTES CODCLI NOMBRE DIRECCION CODPOSTAL CODPUE 20 13 12 27 ‘Barcelona 2’ ‘Peñas 5’ ‘Prim 7’ ‘Peñas 24’ ‘13004’ ‘15008’ ‘12003’ ‘15008’ ‘José Pérez’ ‘María Gil’ ‘Luis Sorlí’ ‘María Gil’ ‘1400’ ‘1456’ ‘1456’ CODCLI NOMBRE 20 27 13 ‘José Pérez’ ‘María Gil’ ‘María Gil’ II18--Universitat Jaume I 8 4 Join externo SELECT c.codcli, p.nombre FROM pueblos p, clientes c WHERE p.codpue = c.codpue; TABLA PUEBLOS CODPUE NOMBRE 1400 10 1456 CODPRO SARRION 44 LLIRIA 46 ONDA 12 TABLA CLIENTES RESULTADO CODCLI NOMBRE 20 13 27 SARRION ONDA ONDA CODCLI NOMBRE DIRECCION CODPOSTAL CODPUE 20 13 12 27 Barcelona 2 Peñas 5 Prim 7 Peñas 24 13004 15008 12003 15008 José Pérez María Gil Luis Sorlí María Gil II18--Universitat Jaume I 1400 1456 1456 9 Join externo TABLA PUEBLOS SELECT c.codcli, p.nombre CODPUE NOMBRE CODPRO FROM pueblos p, clientes c 1400 SARRION 44 WHERE p.codpue (+) = c.codpue; 10 LLIRIA 46 1456 ONDA 12 TABLA CLIENTES RESULTADO CODCLI NOMBRE 20 13 12 27 SARRION ONDA CODCLI NOMBRE DIRECCION CODPOSTAL CODPUE 20 13 12 27 Barcelona 2 Peñas 5 Prim 7 Peñas 24 13004 15008 12003 15008 José Pérez María Gil Luis Sorlí María Gil 1400 1456 1456 ONDA II18--Universitat Jaume I 10 5 Join externo TABLA PUEBLOS SELECT c.codcli, p.nombre CODPUE NOMBRE CODPRO FROM pueblos p, clientes c 1400 SARRION 44 WHERE p.codpue = c.codpue (+); 10 LLIRIA 46 1456 ONDA 12 TABLA CLIENTES RESULTADO CODCLI NOMBRE 20 13 27 SARRION ONDA ONDA LLIRIA CODCLI NOMBRE DIRECCION CODPOSTAL CODPUE 20 13 12 27 Barcelona 2 Peñas 5 Prim 7 Peñas 24 13004 15008 12003 15008 José Pérez María Gil Luis Sorlí María Gil 1400 1456 1456 II18--Universitat Jaume I 11 Concepto de JOIN EXTERNO pueblos CODPUE NOMBRE CODPRO 250 10 1829 490 810 Sarrión Lliria Almansa Onda Viver 44 46 NULL 12 12 provincias CODPRO NOMBRE 46 12 03 44 Valencia Castellón Alicante Teruel II18--Universitat Jaume I Tablas con una relación de clave ajena 12 6 ¿Cuántos pueblos hay en cada provincia? select from where group by CODPUE 250 10 490 810 pr.nombre, count(*) num_pue pueblos pu, provincias pr pu.codpro = pr.codpro pu.codpro, pr.nombre; NOMBRE Sarrión Lliria Onda Viver pr.nombre Teruel Valencia Castellón CODPRO 44 46 12 12 CODPRO 44 46 12 12 num_pue 1 1 2 NOMBRE Teruel Valencia Castellón Castellón Y, ¿en Alicante? II18--Universitat Jaume I 13 ¿Cuántos pueblos hay en cada provincia? select from where group by CODPUE NULL 250 10 490 810 pr.nombre, count(codpue) num_pue pueblos pu, provincias pr pu.codpro (+) = pr.codpro pu.codpro, pr.nombre; NOMBRE NULL Sarrión Lliria Onda Viver pr.nombre Alicante Teruel Valencia Castellón CODPRO NULL 44 46 12 12 CODPRO 03 44 46 12 12 NOMBRE Alicante Teruel Valencia Castellón Castellón num_pue 0 1 1 2 II18--Universitat Jaume I 14 7 Concepto de JOIN EXTERNO pueblos CODPUE NOMBRE CODPRO 250 10 1829 490 810 Sarrión Lliria Almansa Onda Viver 44 46 NULL 12 12 Tablas con una relación de clave ajena provincias CODPRO NOMBRE 46 12 03 44 Valencia Castellón Alicante Teruel II18--Universitat Jaume I 15 Seleccionar cada pueblo con su provincia. select from where CODPUE 1829 250 10 490 810 pu.nombre Almansa Sarrión Lliria Onda Viver pu.nombre, pr.nombre pueblos pu, provincias pr pu.codpro = pr.codpro (+); NOMBRE Almansa Sarrión Lliria Onda Viver CODPRO NULL 44 46 12 12 CODPRO NULL 44 46 12 12 NOMBRE NULL Teruel Valencia Castellón Castellón pr.nombre NULL Teruel Valencia Castellón Castellón II18--Universitat Jaume I 16 8