Karteikarten
consultas tema 2
Karten in diesem Stapel (40)
- 1-- 1. Realiza el producto de las tablas Pais y Ciudad. ¿Es el número de registros que sale correcto? Justifica tu respuesta.SELECT *
FROM Pais, Ciudad
-- 974.881 registros - 2-- 2. Del producto anterior selecciona los registros correctos. ¿Es el número de registros que sale correcto? Justifica tu respuesta.SELECT *
FROM Pais, Ciudad
WHERE Pais.Codigo = Ciudad.CodigoPais
-- 4079 registros - 3-- 3. ¿Recuerdas que entre las tablas Ciudad y Pais hay dos relaciones? Filtra el producto utilizando la relación capital. ¿Es el número de registros que sale correcto? Justifica tu respuesta. Realiza esta misma consulta con Join y compara los resultados.SELECT *
FROM Pais JOIN Ciudad
ON Pais.Capital = Ciudad.ID
-- 232 registros - 4-- 4. Listado de lenguas oficiales habladas en países con una densidad de población mayor que 1000 habitantes por kilómetro cuadrado.SELECT DISTINCT Lengua FROM Pais JOIN LenguaPais
ON LenguaPais.CodigoPais=Pais.Codigo
WHERE Poblacion/Superficie > 1000 AND EsOficial = 'T';
-- 8 registros - 5-- 5. Listado de países que tienen alguna ciudad con más de 8 millones de habitantesSELECT DISTINCT Pais.Nombre AS 'Pais' FROM Pais JOIN Ciudad ON Pais.Codigo=Ciudad.CodigoPais
WHERE Ciudad.Poblacion > 8000000;
-- 10 registros - 6-- 6. Listado de capitales de los países que han aumentado su PNB.SELECT Ciudad.Nombre AS 'Capitales que han aumentado su PNB'
FROM Ciudad JOIN Pais
ON Pais.Capital = Ciudad.ID
WHERE PNB > PNBAnt
-- 115 registros - 7-- 7. Nombre de las capitales de los diez países más poblados.SELECT Ciudad.Nombre
FROM Ciudad JOIN Pais
ON Pais.Capital = Ciudad.ID
ORDER BY Pais.Poblacion DESC
-- 10 registros - 8-- 8. Nombre de las Ciudades que pertenecen a países en las que el inglés es lengua oficial hablada por más del 50% de la población.SELECT Ciudad.Nombre AS 'Ciudad'
FROM Ciudad JOIN Pais JOIN LenguaPais
ON Ciudad.CodigoPais = Pais.Codigo AND Pais.Codigo= LenguaPais.CodigoPais
WHERE Lengua='English'AND EsOficial='T' AND Porcentaje>50
-- 435 registros - 9-- 9. Lenguas oficiales que se hablan en los países que han aumentado el PNB y cuyas capitales tienen más de 5 millones de habitantes.SELECT DISTINCT Lengua
FROM Ciudad JOIN Pais JOIN LenguaPais
ON LenguaPais.CodigoPais = Pais.Codigo AND Pais.Capital = Ciudad.Id
WHERE EsOficial='T' AND PNB>PNBAnt AND Ciudad.Poblacion>5000000
-- 5 registros - 10-- 10. Lenguas oficiales que se hablan en los países cuya capital tiene, como mínimo un décimo de la población del país al que perteneceSELECT DISTINCT Lengua
FROM Ciudad JOIN Pais JOIN LenguaPais
ON LenguaPais.CodigoPais = Pais.Codigo AND Pais.Capital = Ciudad.Id
WHERE EsOficial='T' AND Ciudad.Poblacion>=Pais.Poblacion*0.1
-- 58 registros - 11-- 11. Capitales de países del continente sudamericano (South America) cuya lengua oficial es el inglés.SELECT Ciudad.Nombre
FROM Ciudad JOIN Pais JOIN LenguaPais
ON LenguaPais.CodigoPais = Pais.Codigo AND Pais.Capital = Ciudad.Id
WHERE Continente='South America' AND Lengua='English' AND EsOficial='T'
-- 1 registro - 12-- 12. Nombre de las empresas proveedoras de productos de la categoría Condiments.SELECT DISTINCT Proveedores.NombreEmpresa AS 'Proveedor'
FROM Proveedores JOIN Productos JOIN Categorias
ON Proveedores.IdProveedor = Productos.IdProveedor AND Productos.IdCategoria = Categorias.IdCategoria
WHERE NombreCategoria='Condiments';
-- 8 registros - 13-- 13. Nombre de las empresas proveedoras de alguno de los productos del pedido 10777SELECT DISTINCT Proveedores.NombreEmpresa AS 'Proveedor'
FROM Proveedores JOIN Productos JOIN DetallesPedido JOIN Pedidos
ON Proveedores.IdProveedor = Productos.IdProveedor AND Productos.IdProducto = DetallesPedido.IdProducto AND DetallesPedido.IdPedido = Pedidos.IdPedido
WHERE Pedidos.IdPedido=10777
-- 1 registro - 14-- 14. Nombre de las empresas proveedoras de alguno de los productos de pedidos que ha servido el empleado DavolioSELECT DISTINCT Proveedores.NombreEmpresa AS 'Proveedor'
FROM Proveedores JOIN Productos JOIN DetallesPedido JOIN Pedidos JOIN Empleados
ON Proveedores.IdProveedor = Productos.IdProveedor AND Productos.IdProducto = DetallesPedido.IdProducto AND DetallesPedido.IdPedido = Pedidos.IdPedido AND Pedidos.IdEmpleado = Empleados.IdEmpleado
WHERE Apellido = 'Davolio'; - 15-- 15. Nombre de las empresas proveedoras de alguno de los productos de pedidos servidos por empleados de la región septentrional (southerm)SELECT DISTINCT NombreEmpresa AS 'Empresas proveedoras de alguno de los productos de pedidos servidos por empleados de la región septentrional'
FROM Proveedores JOIN Productos JOIN DetallesPedido JOIN Pedidos JOIN Empleados JOIN TerritoriosEmpleados JOIN Territorios JOIN Region
ON Proveedores.IdProveedor= Productos.IdProveedor AND
Productos.IdProducto = DetallesPedido.IdProducto AND
DetallesPedido.IdPedido = Pedidos.IdPedido AND
Pedidos.IdEmpleado = Empleados.IdEmpleado AND
Empleados.IdEmpleado = TerritoriosEmpleados.IdEmpleado AND
TerritoriosEmpleados.IdTerritorio=Territorios.IdTerritorio AND
Territorios.IdRegion = Region.IdRegion
WHERE Region.DescripcionRegion='Southern'
-- 29 registros - 16-- 16. Nombre de las empresas proveedoras de alguno de los productos de la categoría condiments de pedidos servidos por empleados de la región septentrional (southerm)SELECT DISTINCT NombreEmpresa AS 'Empresas proveedoras de alguno de los productos de pedidos servidos por empleados de la región septentrional'
FROM Proveedores JOIN Productos JOIN Categorias JOIN DetallesPedido JOIN Pedidos JOIN Empleados JOIN TerritoriosEmpleados JOIN Territorios JOIN Region
ON Proveedores.IdProveedor= Productos.IdProveedor AND
Productos.IdProducto = DetallesPedido.IdProducto AND
Productos.IdCategoria=Categorias.IdCategoria AND
DetallesPedido.IdPedido = Pedidos.IdPedido AND
Pedidos.IdEmpleado = Empleados.IdEmpleado AND
Empleados.IdEmpleado = TerritoriosEmpleados.IdEmpleado AND
TerritoriosEmpleados.IdTerritorio=Territorios.IdTerritorio AND
Territorios.IdRegion = Region.IdRegion
WHERE Categorias.NombreCategoria='Condiments' AND Region.DescripcionRegion='Southern'
-- 8 registros - 17-- 17. Nombre de las empresas proveedoras de alguno de los productos de la categoría condiments de pedidos servidos por empleados de la región septentrional (southern) de pedidos del año 1996SELECT DISTINCT Proveedores.NombreEmpresa AS 'Proveedor'
FROM Proveedores JOIN Productos JOIN DetallesPedido JOIN Pedidos JOIN Empleados JOIN TerritoriosEmpleados JOIN Territorios JOIN Region JOIN Categorias
ON Proveedores.IdProveedor = Productos.IdProveedor AND
Productos.IdProducto = DetallesPedido.IdProducto AND
Productos.IdCategoria = Categorias.IdCategoria AND
DetallesPedido.IdPedido = Pedidos.IdPedido AND
Pedidos.IdEmpleado = Empleados.IdEmpleado AND
Empleados.IdEmpleado = TerritoriosEmpleados.IdEmpleado AND
TerritoriosEmpleados.IdTerritorio=Territorios.IdTerritorio AND
Territorios.IdRegion = Region.IdRegion
WHERE Categorias.NombreCategoria = 'Condiments' AND Region.DescripcionRegion='Southern' AND YEAR(FechaPedido)=1996
-- 4 registros - 18-- 18. ¿Cuantos países hay?SELECT COUNT(*) AS 'Nombre de países'
FROM Pais
-- 1 registro (resultado 239) - 19-- 19. Indica cuántos países hay que tienen capital. Nota: usa sólo la función COUNT(expr) sin WHERESELECT COUNT(Capital) AS 'Países que tienen capital'
FROM Pais
-- 1 registro (resultado 232) - 20-- 20. Indica cuántos países hay que no tienen capital. Nota: usa la función COUNT sin WHERESELECT COUNT(*)-COUNT(Capital) AS 'Numero de países sin capital'
FROM Pais
-- 1 registro (resultado 7) - 21-- 21. Indica cuántos países hay que no tengan ninguna capital asignada. Nota: usa la función COUNT, e IS NULL en el WHERESELECT COUNT(*)
FROM Pais
WHERE Capital IS NULL
-- 1 registro (resultado 7) - 22-- 22. Listado de países que no tienen capitalSELECT Nombre
FROM Pais
WHERE Capital IS NULL
-- 7 registros - 23-- 23. Listado de todos los países junto con el nombre de su capitalSELECT Pais.Nombre AS 'Pais', Ciudad.Nombre AS 'Capital'
FROM Pais LEFT JOIN Ciudad
ON Pais.Capital = Ciudad.Id
-- 239 registros - 24-- 24. Listado de todas las ciudades junto con el nombre del país del que son capitalSELECT Ciudad.Nombre AS 'Ciudad', Pais.Nombre AS 'Pais'
FROM Ciudad LEFT JOIN Pais
ON Ciudad.Id = Pais.Capital
-- 4079 registros - 25-- 25. Países que no tienen ninguna lenguaSELECT Nombre AS 'País'
FROM Pais LEFT JOIN LenguaPais
ON Pais.Codigo = LenguaPais.CodigoPais
WHERE LenguaPais.CodigoPais IS NULL
-- 6 registros - 26-- 26. Número de países que no tienen ninguna lenguaSELECT COUNT(*) AS 'País'
FROM Pais LEFT JOIN LenguaPais
ON Pais.Codigo = LenguaPais.CodigoPais
WHERE LenguaPais.CodigoPais IS NULL
-- 1 registro (resultado 6) - 27-- 27. Número de países que tienen alguna lenguaSELECT COUNT(DISTINCT Codigo) AS 'Países que tienen alguna lengua'
FROM Pais JOIN LenguaPais
ON Pais.Codigo = LenguaPais.CodigoPais
-- 1 registro (resultado 233) - 28-- 28. Número de ciudades que no pertenecen a ningún paísSELECT COUNT(ID) AS 'Numero de países que no pertenecen a ningún país'
FROM Ciudad
WHERE CodigoPais IS NULL
-- 1 registro (resultado 0) - 29-- 29. Listado de países que no tienen ninguna ciudadSELECT Pais.Nombre AS 'Países que no tienen ninguna ciudad'
FROM Pais LEFT JOIN Ciudad
ON Pais.Codigo = Ciudad.CodigoPais
WHERE Ciudad.ID IS NULL
-- 7 registros - 30-- 30. Número de países que no tienen ninguna ciudadSELECT COUNT(Pais.Nombre) AS 'Países que no tienen ninguna ciudad'
FROM Pais LEFT JOIN Ciudad
ON Pais.Codigo = Ciudad.CodigoPais
WHERE Ciudad.ID IS NULL
-- 1 registro (resultado 7) - 31-- 31. Países que no tienen ninguna capital.SELECT Nombre AS 'Paises que no tienen ninguna capital'
FROM Pais
WHERE Capital IS NULL
-- 7 registros - 32-- 32. Número de países que no tienen ninguna capitalSELECT COUNT(Nombre) AS 'Paises que no tienen ninguna capital'
FROM Pais
WHERE Capital IS NULL
-- 1 registro (resultado 7) - 33-- 33. Capitales que no son capital de ningún país-- No se puede hacer la tabla capital no existe
- 34-- 34. Capitales que no son ciudad de ningún paísSELECT Ciudad.Nombre AS 'Capitales que no son ciudad de ningún país'
FROM Pais JOIN Ciudad
ON Ciudad.ID = Pais.Capital
WHERE Ciudad.CodigoPais IS NULL
-- 0 registros - 35-- 35. Capitales que no son ciudad del país del que son capitalSELECT Ciudad.Nombre
FROM Pais JOIN Ciudad
ON Ciudad.Id = Pais.Capital -- alreves
WHERE Ciudad.CodigoPais <> Pais.Codigo
-- 0 registros - 36-- 36. Ciudades que no son capitalesSELECT Ciudad.Nombre
FROM Ciudad LEFT JOIN Pais
ON Ciudad.ID = Pais.Capital
WHERE Pais.Capital IS NULL
-- 3847 registros - 37-- 37. Número de ciudades que no son capitalSELECT COUNT(Ciudad.Nombre)
FROM Ciudad LEFT JOIN Pais
ON Ciudad.ID = Pais.Capital
WHERE Pais.Capital IS NULL
-- 1 registro (resultado 3847) - 38-- 38. Listado de nombre y apellidos de los empleados junto con el nombre y apellidos de su jefeSELECT Subordinado.Nombre AS 'Nombre Empleado',
Subordinado.Apellido AS 'Apellido Empleado',
Superior.Nombre AS 'Nombre Jefe',
Superior.Apellido AS 'Apellido Jefe'
FROM Empleados AS Subordinado LEFT JOIN Empleados AS Superior
ON Superior.IdEmpleado = Subordinado.Superior
-- 9 registros - 39-- 39. Nombre de los países con año de independencia posterior a 1950 o con una población de más de 10 millones de habitantes. Nota: no se puede usar ORSELECT Nombre
FROM Pais
WHERE AnyIndep > 1950
UNION
SELECT Nombre
FROM Pais
WHERE Poblacion > 10000000
-- 158 registros - 40-- 40. Listado de países, ciudades y lenguasSELECT Nombre
FROM Pais
UNION ALL
SELECT Nombre
FROM Ciudad
UNION ALL
SELECT DISTINCT Lengua
FROM LenguaPais
-- 4775 registros
Informationen
- Beschreibung
- Karteikarten am consultas tema 2, erstellt von Rocío Romero am 06/11/2016.
- Erstellt von
- Rocío Romero
- Aufrufe
- 1
- Bewertung
Mehr zu SQL y lenguajes de bases de datos