Algunas consultas en base de datos.
Enviado por chivo2 • 5 de Noviembre de 2016 • Apuntes • 862 Palabras (4 Páginas) • 236 Visitas
Consultas sobre más de una tabla
1.
Listar los nombres y apellidos de los empleados así como el número del departamento al
que pertenecen.
SELECT nombrep, apellido,
nd
FROM compania.empleado
;
2.
Listar los nombr
es y
apellidos de los empleados así
como el nombre del departamento al
que pertenecen
.
En este ejemplo nos piden el nombre del departamento.
Los datos se
encuentran ahora en dos tablas, las cuales reunimos
igualando las llaves (forá
nea y
primaria)
que las rela
cionan
. Se trata del vínculo o relación:
EMPLEADO
-
>
PERTENECE_A
<
-
DEPARTAMENTO
SELECT nombrep, apellido, nombred
FROM compania.empleado, compania.departamento
WHERE nd=numerod;
3.
Listar los nomb
res y apellidos de los gerentes así
como el nombre del departamento al
que dirigen
. Nótese como
c
on solo cambiar las llaves, cambia
la relación
.
Se trata
ahora
del ví
nculo
o
relación:
EMPLEADO
-
>
DIRIGE
<
-
DEPARTAMENTO
SELECT nombrep, apellido, nombred
FROM compania.empleado, compan
ia.departamento
WHERE nss=nssgte;
4.
Listar el nombre d
e cada proyecto así
como el nombre y apell
ido del gerente que lo
controla. Obsérvese
como al reunirse tres tab
las se utilizan dos condiciones de reunió
n en
el predicado, usando un AND
.
SELECT
nombrep, apellido, nombrepr
FROM compania.empleado, compania.departamento,
compania.proyecto
WHERE nss=nssgte AND numerod=numd;
5.
Listar el nombre y apellido
del gerente del Departamento 3.
En este caso, aunque hay dos
condiciones
en la cláusula WHERE
, la primera es una
condición de reunió
n
, mien
tras
que la segunda una
condición de selecció
n
.
SELECT nombrep, apellido, nombred
FROM compania.empleado, compania.departamento
WHERE nss=nssgte AND numerod=3;
6.
La clá
usula INTE
RSECT
permite devolver la intersecció
n de 2 conjuntos de valores.
Encontrar todos los nombres de pila que existen tanto en empleados como en
dependientes.
SELECT nombrep
FROM compania.empleado
INTERSECT
SELECT nombre_dependiente
FROM compa
nia.dependiente;
7.
La clá
usul
a UNION permite devolver la unión de 2 conjuntos de valores.
Relacionar todos
los nombres de pila de empleados y dependientes.
SELECT nombrep
FROM compania.empleado
UNION
SELECT nombre_dependiente
FROM compania.dependiente;
8.
La clá
usula EXCEPT permite devolver la diferencia de 2 conjuntos de valores. Por
ejemplo:
listar los nombres de pila de empleados que no se encuentran en los de los
dependientes.
SELECT nombrep
FROM compania.empleado
EXCEPT
(SELECT nombrep
FROM compania.empleado
...