PDF de programación - Lenguaje SQL - Sintaxis Oracle

Imágen de pdf Lenguaje SQL - Sintaxis Oracle

Lenguaje SQL - Sintaxis Oraclegráfica de visualizaciones

Publicado el 10 de Mayo del 2017
2.958 visualizaciones desde el 10 de Mayo del 2017
61,1 KB
10 paginas
Creado hace 15a (30/09/2008)
Lenguaje SQL


Sintaxis Oracle


1- Seleccionar las ciudades de más de 1 millón de habitantes.


SELECT l.nombre
FROM lugar l, tipo_lugar t
WHERE l.tipo_lugar = t.id_tipo_lugar
AND t.nombre = 'Ciudad'
AND l.habitantes > 1000000;


2- Mostrar el nombre y el clima de los lugares situados en América

del Norte ordenados por número de habitantes, de menor a
mayor.


SELECT l.nombre, l.clima, l.habitantes
FROM lugar l, pais p
WHERE l.id_pais = p.id_pais
AND p.continente = 'América del Norte'
ORDER BY NVL(l.habitantes,0) ;


3- Seleccionar el nombre y el continente de los paises de Asia y

Europa.


SELECT l.nombre, p.continente, l.clima
FROM lugar l, pais p
WHERE l.id_pais = p.id_pais
AND p.continente IN ('Asia', 'Europa');


4- Seleccionar los lugares que tengan el texto 'capital' en su

descripción, sin clima informado y que estén en un continente
que no sea Europa.


SELECT l.nombre AS "Lugar", p.nombre AS "País"
FROM lugar l, pais p
WHERE l.id_pais = p.id_pais
AND p.continente <> 'Europa'
AND l.descripcion LIKE '%capital%'
AND l.clima IS NULL;



5- Mostrar un listado de lugares de los paises de Asia con más de

50 millones de habitantes.


SELECT l.nombre AS "Lugar"
FROM lugar l, pais p
WHERE l.id_pais = p.id_pais
AND p.num_habitantes > 500000000;


6- Mostrar todos los diferentes viajeros que hayan viajado a

Roma.


SELECT DISTINCT v.nombre, v.apellidos
FROM viajero v, viaje vi, lugar l
WHERE v.id_viajero = vi.id_viajero
AND vi.id_lugar = l.id_lugar
AND l.nombre = 'Roma';


7- Listar el nombre y apellidos de los viajeros, además del lugar

de destino de todos los viajes realizados en 2006.


SELECT v.nombre, v.apellidos, l.nombre
FROM viajero v, viaje vi, lugar l
WHERE v.id_viajero = vi.id_viajero
AND vi.id_lugar = l.id_lugar
AND TO_CHAR(vi.fecha,'YYYY') = '2006'
ORDER by vi.fecha;


8- Mostrar las ciudades de Europa con clima Mediterraneo o

Continental.


SELECT l.nombre
FROM lugar l, tipo_lugar t, pais p
WHERE l.tipo_lugar = t.id_tipo_lugar
AND l.id_pais = p.id_pais
AND t.nombre = 'Ciudad'
AND l.clima IN ('Mediterráneo','Continental')
AND p.continente = 'Europa';



9- Hacer un listado de los diferentes perfiles de viajero que tengan
un presupuesto inferior a 25 € en sus viajes a lugares con más
de 1 millón de habitantes.


SELECT DISTINCT v.perfil_viajero
FROM viajero v, viaje vi, lugar l
WHERE v.id_viajero = vi.id_viajero
AND vi.id_lugar = l.id_lugar
AND l.habitantes > 1000000
AND vi.presupuesto_diario < 25;


10- Listar los diferentes viajeros que hayan aprobado un viaje a

Londres.


SELECT DISTINCT v.nombre, v.apellidos
FROM viajero v, viaje vi, lugar l
WHERE v.id_viajero = vi.id_viajero
AND vi.id_lugar = l.id_lugar
AND l.nombre = 'Londres'
AND vi.valoracion >= 5;


11- Mostrar los diferentes perfiles de viajero y gasto de todos los

viajes considerados de puente.


SELECT DISTINCT v.perfil_viajero, vi.presupuesto_diario
FROM viajero v, viaje vi, tipo_estancia t
WHERE v.id_viajero = vi.id_viajero
AND vi.numero_dias BETWEEN t.dia_desde AND t.dia_hasta
AND t.nombre = 'Puente'
ORDER BY v.perfil_viajero, vi.presupuesto_diario;


12- Mostrar los paises que no tienen ningún lugar dado de alta.


SELECT p.nombre
FROM pais p, lugar l
WHERE p.id_pais = l.id_pais(+)
AND l.nombre IS NULL;


13- Mostrar los lugares que no tienen pais asignado.


SELECT l.nombre
FROM pais p, lugar l
WHERE p.id_pais(+) = l.id_pais
AND p.nombre IS NULL;



14- Hacer un listado con los viajeros que no han realizado ningún

viaje.


SELECT DISTINCT v.nombre, v.apellidos
FROM viajero v, viaje vi
WHERE v.id_viajero = vi.id_viajero(+)
AND vi.id_viajero IS NULL;


15- Listar los lugares a los que no se ha realizado ningún viaje.


SELECT l.nombre
FROM lugar l, viaje vi
WHERE l.id_lugar = vi.id_lugar(+)
AND vi.id_lugar IS NULL;


16- Mostrar los distintos viajeros que han realizado un viaje a una

ciudad de más de 5 millones de habitantes.


SELECT DISTINCT v.nombre, v.apellidos
FROM viajero v, viaje vi, lugar l, tipo_lugar t
WHERE v.id_viajero = vi.id_viajero
AND vi.id_lugar = l.id_lugar
AND l.tipo_lugar = t.id_tipo_lugar
AND l.habitantes > 5000000;


17- Mostrar los perfiles de viajero que hayan estado en América

en el mes de Julio.


SELECT DISTINCT v.perfil_viajero
FROM viajero v, viaje vi, lugar l, pais p
WHERE v.id_viajero = vi.id_viajero
AND vi.id_lugar = l.id_lugar
AND l.id_pais = p.id_pais
AND p.continente LIKE 'América%'
AND TO_CHAR(vi.fecha, 'fmMONTH') = 'JULIO';



18- Hacer un listado con todos los lugares de playa o montaña

que hayan sido aprobados por algún viajero de clase turista o
low cost.


SELECT DISTINCT l.nombre
FROM viajero v, viaje vi, lugar l, tipo_lugar t
WHERE v.id_viajero = vi.id_viajero
AND vi.id_lugar = l.id_lugar
AND l.tipo_lugar = t.id_tipo_lugar
AND t.nombre IN ('Playa', 'Montaña')
AND v.perfil_viajero IN ('LOW_COST','CLASE_TURISTA')
AND vi.valoracion >= 5;



19- Mostrar los nombres de los viajeros que hayan viajado a una

ciuad de clima Templado o Continental que esté situada en Asia
o Europa.


SELECT DISTINCT v.nombre, v.apellidos
FROM viajero v, viaje vi, lugar l, pais p
WHERE v.id_viajero = vi.id_viajero
AND vi.id_lugar = l.id_lugar
AND l.id_pais = p.id_pais
AND p.continente IN ('Asia','Europa')
AND l.clima IN ('Templado','Continental');


20- Mostrar los diferentes viajeros que se hayan desplazado a

Oceanía entre junio de 2005 y junio de 2006.



SELECT v.nombre, v.apellidos, vi.fecha, l.nombre
FROM viajero v, viaje vi, lugar l, pais p
WHERE v.id_viajero = vi.id_viajero
AND vi.id_lugar = l.id_lugar
AND l.id_pais = p.id_pais
AND p.continente = 'Oceanía'
AND vi.fecha BETWEEN TO_DATE('01/06/2005','DD/MM/YYYY') AND
TO_DATE('30/06/2006','DD/MM/YYYY');



Sintaxis Estándar


1- Seleccionar las ciudades con clima Templado


SELECT l.nombre
FROM lugar l
JOIN tipo_lugar t ON (l.tipo_lugar = t.id_tipo_lugar)
WHERE clima = 'Templado';


2- Mostrar el nombre y el clima de los lugares situados en América

del Sur ordenados por número de habitantes, de mayor a
menor


SELECT l.nombre, l.clima, l.habitantes
FROM lugar l
JOIN pais p USING (id_pais)
WHERE p.continente = 'América del Sur'
ORDER BY NVL(l.habitantes,0) DESC;


3- Seleccionar el nombre y el continente de los paises de América

y Oceanía.


SELECT l.nombre, p.continente
FROM lugar l
JOIN pais p USING (id_pais)
WHERE p.continente LIKE 'América%'
OR p.continente = 'Oceanía';


4- Seleccionar los lugares que no tengan el texto 'ciudad' en su

descripción, con clima informado y que estén en un continente
que no sea Asia


SELECT l.nombre AS "Lugar", p.nombre AS "País"
FROM lugar l
JOIN pais p USING (id_pais)
WHERE p.continente <> 'Asia'
AND l.descripcion NOT LIKE '%ciudad%'
AND l.clima IS NOT NULL;


5- Mostrar un listado de lugares de los paises de Asia con menos

de 50 millones de habitantes.


SELECT l.nombre AS "Lugar"
FROM lugar l
JOIN pais p USING (id_pais)
WHERE p.num_habitantes < 500000000
AND p.continente = 'Asia'

6- Mostrar todos los diferentes viajeros que hayan viajado a

Londres.


SELECT DISTINCT v.nombre, v.apellidos
FROM viajero v
JOIN viaje vi ON (v.id_viajero = vi.id_viajero)
JOIN lugar l ON (l.id_lugar = vi.id_lugar)
WHERE l.nombre = 'Londres';


7- Listar el nombre y apellidos de los viajeros, además del lugar

de destino de todos los viajes realizados en 2004.


SELECT v.nombre, v.apellidos, l.nombre, vi.fecha
FROM viajero v
JOIN viaje vi ON (v.id_viajero = vi.id_viajero)
JOIN lugar l ON (l.id_lugar = vi.id_lugar)
WHERE TO_CHAR(vi.fecha,'YYYY') = '2004'
ORDER by vi.fecha;


8- Mostrar las ciudades de Asia y África con clima Tropical,

Subtropical o no informado.



p.continente


SELECT l.nombre, NVL(l.clima,'No informado') AS "Clima",

FROM lugar l
JOIN tipo_lugar t ON (l.tipo_lugar = t.id_tipo_lugar)
JOIN pais p USING (id_pais)
WHERE t.nombre = 'Ciudad'
AND NVL(l.clima,'No informado') IN

AND p.continente IN ('Asia', 'África');


('Tropical','Subtropical','No informado')

9- Hacer un listado de los diferentes perfiles de viajero que tengan

un presupuesto inferior a 25 € en sus viajes a lugares sin
número de habitantes informado.


SELECT DISTINCT v.perfil_viajero
FROM viajero v
JOIN viaje vi ON (v.id_viajero = vi.id_viajero)
JOIN lugar l ON (l.id_lugar = vi.id_lugar)
WHERE l.habitantes IS NULL
AND vi.presupuesto_diario < 25;



10- Listar los diferentes viajeros que hayan valorado un viaje a

París o Roma con suspenso.



SELECT DISTINCT v.nombre, v.apellidos
FROM viajero v
JOIN viaje vi ON (v.id_viajero = vi.id_viajero)
JOIN lugar l ON (l.id_lugar = vi.id_lugar)
WHERE v.id_viajero = vi.id_viajero
AND vi.id_lugar = l.id_lugar
AND l.nombre IN ('París', 'Roma')
AND vi.valoracion < 5;


11- Mostrar los diferentes perfiles de viajero y gasto de todos los

viajes considerados de vacaciones.


SELECT DISTINCT v.perfil_viajero, vi.presupuesto_diario,
vi.numero_dias
FROM viajero v
JOIN viaje vi ON (v.id_viajero = vi.id_viajero)
JOIN tipo_estancia t ON ( vi.numero_dias

WHERE t.nombre = 'Vacaciones'
ORDER BY v.perfil_viajero, vi.presupuesto_diario;


BETWEEN t.dia_desde AND t.dia_hasta)



12- Mostrar los paises que no tienen ningún lugar dado de alta.


SELECT p.nombre
FROM pais p
LEFT JOIN lugar l USING (id_pais)
WHERE l.nombre IS NULL;


13- Mostrar los lugares que no tienen pais asignado.


SELECT l.nombre
FROM pais p
RIGHT JOIN lugar l USING (id_pais)
WHERE p.nombre IS NULL;


14- Hacer un listado con los viajeros que no han realizado ningún

viaje.


SELECT DISTINCT v.nombre, v.apellidos
FROM viajero v
LEFT JOIN viaje vi
  • Links de descarga
http://lwp-l.com/pdf3478

Comentarios de: Lenguaje SQL - Sintaxis Oracle (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad