Reunió i intersecció

Índex

 

Introducció

Podem establir que en dos o més camps es compleixin alhora sengles condicions. Tots els exemples d'aquest capítol corresponen a la taula "Socis", que presentem de nou a continuació:

#

 

Intersecció: AND

Diem que un conjunt és la intersecció de diversos altres quan conté exclusivament els elements comuns a aquells. Per exemple, en la taula de "Socis" volem trobar els registres en què el nom és 'Joana' i el cognom és 'Claramunt'. Les condicions que s'han de donar alhora i que donen lloc a la intersecció es formulen separades per un AND:

SELECT "Nom", "Cognom", "Telf" AS "Telèfon" FROM "Socis"
WHERE "Nom"='Joana' AND "Cognom"='Claramunt'

I el resultat és

#

Recordeu: com més condicions AND, menys registres seleccionats, perquè s'han de satisfer alhora!

 

Reunió: OR

Diem que un conjunt és la reunió de diversos altres quan conté indistintament els elements de cada un d'aquells. Per exemple, en la taula de "Socis", volem trobar els registres en què el cognom és 'Vendrell' o bé 'Claramunt'. En aquest cas les condicions s'han de separar amb OR i encloure entre paréntesis:

SELECT "Nom","Cognom","Adreça" FROM "Socis"
WHERE ( "Cognom" = 'Vendrell' OR "Cognom" = 'Claramunt' )

I aquest és el resultat:

#

Recordeu: com més condicions OR, més registres seleccionats, perquè n'hi ha prou que se'n satisfaci només una!

 

Combinacions

Es poden establir condicions complexes; en aquest cas cal indicar la prioritat amb què s'avaluen les condicions; això es fa mitjançant perèntesis, usats segons els criteris habituals en matemàtiques:

...
WHERE condició_1 AND (condició_2 OR condició_3 )
...

Primer es fan les operacions més interiors (en aquest cas, OR); després, la resta, en aquest cas, AND.

Per exemple, la manera de trobar tots els socis que es diuen 'Joana' o 'Maria' de nom i alhora 'Vendrell' o 'Claramunt' de cognom seria

...
WHERE ( "Cognom" = 'Vendrell' OR "Cognom" = 'Claramunt' ) AND ( "Nom" = 'Joana' OR "Nom" = 'Maria' )
...

En aquest cas,