06.09.2014 Views

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

© FUOC • 71Z799014MO 44 El lenguaje SQL<br />

importante <strong>de</strong> la unión es que somos nosotros quienes tenemos que procurar<br />

que se efectúe entre columnas <strong>de</strong>finidas sobre dominios compatibles; es<br />

<strong>de</strong>cir, que tengan la misma interpretación semántica. Como ya hemos comentado,<br />

el SQL92 no nos ofrece herramientas para asegurar la compatibilidad<br />

semántica entre columnas.<br />

Utilización <strong>de</strong> la unión en BDUOC<br />

Si queremos saber todas las ciuda<strong>de</strong>s que hay en nuestra base <strong>de</strong> <strong>datos</strong>, podríamos hacer:<br />

SELECT ciudad<br />

FROM clientes<br />

UNION<br />

SELECT ciudad_<strong>de</strong>p<br />

FROM <strong>de</strong>partamentos;<br />

ciudad<br />

Barcelona<br />

Girona<br />

Lleida<br />

Tarragona<br />

El resultado <strong>de</strong> esta consulta sería el que se muestra al margen.<br />

2.5.8. La intersección<br />

Para hacer la intersección entre dos o más sentencias SELECT FROM, po<strong>de</strong>mos<br />

utilizar la cláusula INTERSECT, cuyo formato es:<br />

SELECT columnas<br />

FROM tabla<br />

[WHERE condiciones]<br />

INTERSECT [ALL]<br />

SELECT columnas<br />

FROM tabla<br />

[WHERE condiciones];<br />

Si indicamos la opción ALL, aparecerán todas las filas obtenidas a partir <strong>de</strong> la<br />

intersección. No la pondremos si queremos eliminar las filas repetidas.<br />

Lo más importante <strong>de</strong> la intersección es que somos nosotros quienes tenemos<br />

que vigilar que se haga entre columnas <strong>de</strong>finidas sobre dominios compatibles;<br />

es <strong>de</strong>cir, que tengan la misma interpretación semántica.<br />

Utilización <strong>de</strong> la intersección en BDUOC<br />

Si queremos saber todas las ciuda<strong>de</strong>s don<strong>de</strong> tenemos <strong>de</strong>partamentos en los que podamos encontrar<br />

algún cliente, podríamos hacer:<br />

SELECT ciudad<br />

FROM clientes<br />

INTERSECT<br />

SELECT ciudad_<strong>de</strong>p<br />

FROM <strong>de</strong>partamentos;<br />

ciudad<br />

Barcelona<br />

Girona<br />

Lleida<br />

Tarragona<br />

El resultado <strong>de</strong> esta consulta sería el que se muestra al margen.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!