Oracle non esiste un operatore
L'operatore non esiste in Oracle consente di rimuovere i dati da un determinato set di valori. La sintassi dell'operatore è mostrata di seguito:
Seleziona * da table_name
Dove non esiste (sottoquery);
Se utilizzato con una clausola dove, l'operatore NOT esiste restituisce vero se la sottoquery specificata non restituisce righe. Se la sottoquery definita restituisce qualsiasi riga, l'operatore si retrò falso ed esclude le righe restituite dal set di risultati.
L'operatore restituisce anche falso se le righe restituite contengono valori null.
Esempio di dimostrazione
Sebbene l'operatore non esista in Oracle può sembrare scoraggiante, è relativamente semplice e intuitivo, come discusso nell'esempio seguente.
Tabella di esempio:
Supponiamo di avere tabelle che contengono le informazioni sui dipendenti e il dipartimento in cui quel cliente si riserva.
Possiamo usare l'operatore non esistente per rimuovere tutti i dipendenti che non appartengono a un particolare dipartimento, come mostrato nella seguente query:
Seleziona First_name da dipendenti EMP dove non esiste (selezionare NULL dal dipartimento in cui dipendente.Employee_id = Dipartimento.Employee_id) Ordine per First_name;In questo caso, la clausola Where crea una sottoquery che restituisce le righe in cui il valore della colonna Employee_ID nei dipendenti non esiste nella colonna Employee_ID della tabella del dipartimento.
L'utilizzo dell'operatore non esiste nega i risultati della sottoquery.
Possiamo anche utilizzare l'operatore NOT EXITS con altre istruzioni DML come Elimina e aggiornamento.
Ad esempio, la seguente query dimostra come utilizzare l'operatore di aggiornamento per aggiornare il valore di una determinata colonna della tabella:
Aggiorna i dipendentiIn questo caso, l'istruzione di aggiornamento dovrebbe impostare il valore della colonna della Commissione su 10 per tutte le righe in cui il valore della colonna Commission_PCT non è null.
Questa query dimostra un modo semplice ed efficiente di aggiornare una tabella con un determinato valore senza filtrare manualmente i risultati.
Conclusione
Questo breve tutorial ti introduce all'operatore non esiste nel database Oracle per negare il risultato di una determinata sottoquery. Nella maggior parte dei casi, utilizziamo questo operatore insieme alle dichiarazioni condizionali come dove filtrare i risultati.