PRÁCTICAS DE BASES DE DATOS I - Universidad de Jaén
PRÁCTICAS DE BASES DE DATOS I - Universidad de Jaén
PRÁCTICAS DE BASES DE DATOS I - Universidad de Jaén
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Programación <strong>de</strong> Bases <strong>de</strong> Datos Oracle SQL<br />
• Obtener los coches reparados por algún mecánico <strong>de</strong> CHAPA:<br />
SQL> SELECT mat<br />
FROM trabajos<br />
WHERE dni IN ( SELECT dni<br />
FROM mecanicos<br />
WHERE puesto = 'CHAPA');<br />
MAT<br />
--------<br />
M3020KY<br />
J1234Z<br />
J9999AB<br />
J1234Z<br />
Nótese como cuando el resultado <strong>de</strong> la subconsulta es un conjunto <strong>de</strong> valores NO se pue<strong>de</strong><br />
utilizar el operador <strong>de</strong> igualdad, sino el <strong>de</strong> inclusión.<br />
6.2.3. Variables <strong>de</strong> tupla y consultas sincronizadas<br />
SQL toma prestada la notación <strong>de</strong> variables <strong>de</strong> tupla <strong>de</strong>l cálculo relacional orientado a tuplas. Una<br />
variable <strong>de</strong> tupla en SQL <strong>de</strong>be estar asociada a una tabla <strong>de</strong>terminada. Las variables <strong>de</strong> tupla se<br />
<strong>de</strong>finen en la cláusula FROM <strong>de</strong>l comando SELECT, situándolas junto a la tabla asociada. Las<br />
variables <strong>de</strong> tupla son variables que van tomando como valores tuplas <strong>de</strong> una <strong>de</strong>terminada tabla.<br />
Hasta el momento se han utilizado variables <strong>de</strong> tupla para ahorrar trabajo, dar mayor claridad al<br />
escribir las consultas y evitar ambigüeda<strong>de</strong>s.<br />
Una variable <strong>de</strong> tupla se coloca <strong>de</strong>spués <strong>de</strong>l nombre <strong>de</strong> la relación y separada por uno o más<br />
espacios en blanco. Cuando una consulta tiene subconsultas anidadas, se aplica la siguiente regla<br />
<strong>de</strong> ámbito para las variables <strong>de</strong> tuplas: en un subconsulta, está permitido usar sólo variables <strong>de</strong><br />
tupla <strong>de</strong>finidas en la misma subconsulta o en cualquier consulta que contenga a la subconsulta. Si<br />
existen dos variables <strong>de</strong> tupla con el mismo nombre se tiene en cuenta la más interior a la<br />
subconsulta.<br />
Las variables <strong>de</strong> tupla son muy útiles para comparar dos tuplas <strong>de</strong> la misma relación. Por ejemplo, si<br />
se quieren obtener las parejas <strong>de</strong> mecánicos con el mismo tipo <strong>de</strong> contrato:<br />
SQL> SELECT m1.nombre,m2.nombre,<br />
m1.parcial"Contrato parcial?"<br />
FROM mecanicos m1,mecanicos m2<br />
WHERE m1.parcial=m2.parcial AND<br />
m1.nombre