vuoi
o PayPal
tutte le volte che vuoi
NOME CASA
testarossa ferrari
412 ferrari
126 fiatpanda
750 l fiatpanda
1000 s fiatpanda
d diesel fiatpanda
td s fiatcroma
xyz tretrebx 19 trd diesel citroencx
25 limousine citroencx25 trd turbods citroencx
25 gti turbo citroen7.4
L'opzione (+) (solo SQL ORACLE)
Si noti ancora che il nome "de tomaso" non compare in alcuna tupla. A questo proposito si noti che alcuni RDBMS, e questo è il nostro caso, ammettono l'uso di una opzione che produce nella relazione risultato, in aggiunta al risultato di cui sopra, anche i valori per cui la condizione prevista nella WHERE non si verifica in nessuna tupla. Questa particella, il segno "+" racchiuso tra parentesi, deve venire specificato nella condizione sull'attributo mancante di dati costituito, nel nostro caso, dall'attributo Nocasa della relazione MODELLO.
Riportiamo, come al solito, il testo della SELECT e una parte del risultato ottenuto.
SELECT nome, casa
FROM modello, marche
modello.nocasa(+) = marche.nocasa; [22]
NOME CASA------------------ ----------de tomasotestarossa ferrari412 ferrari126 fiat. . . . . . .cx25 trd turbods citroencx 25 gti turbo citroen
La possibilita' di scrivere una simile query, ci porta immediatamente alla successiva, che ottiene inomi delle case costruttrici che non producono alcun modello. Si tratta di una modifica della [22]cui viene aggiunta una condizione suppletiva per le case aventi l'attributo Nome uguale a NULL.Ove questo non fosse possibile, saremmo costretti a ricorrere ad una diversa scrittura, che sara'discussa in uno dei prossimi capitoli [54].
SELECT casaFROM modello, marcheWHERE modello.nocasa(+) = marche.nocasaAND nome IS NULL; [23]
CASA-----------de tomaso7.5 La condizione per la join (non uguaglianza)In tutti gli esempi visti finora, la condizione specificata nella WHERE era di uguaglianza; perquesto motivo alcuni autori parlano di equi-join. Non sempre pero' la condizione della join
La query è costruita ricorrendo all'operatore di uguaglianza. Nella prossima SELECT vedremo un esempio in cui il "filtro" si ottiene attraverso una condizione diversa. Consideriamo la tabella CLASSI, e decidiamo di voler attribuire ad ogni autovettura la classe di prezzo cui questa appartiene. Per legare le informazioni prezzo e classe dovremo effettuare una operazione di join tra le due tabelle; la condizione di filtro alla join, si esprime in modo che il prezzo del veicolo sia compreso tra limite inferiore e superiore di ognuna classe. Per motivi di