| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> Computer Programming Languages >> Content
    Differenze tra EXISTS e IN di SQL
    Una sfida persistente utilizzando SQL è determinare il corretto utilizzo dei esiste e degli operatori . I due operatori in grado di produrre gli stessi risultati , ma non sempre farlo . Inoltre, vi è dibattito notevole sopra come ciascun operatore è ottimizzato per la velocità . Gli utenti dovrebbero capire i diversi attributi di ciascun operatore e provare entrambi per determinare la funzione appropriata . IN Operator

    L'operatore IN restituisce una riga se una WHERE valore table.field condizionata corrisponde a una lista di valori . IN è tipicamente usato come parte di una query principale o in combinazione con una sottoquery

    Esempio 1 : . DOVE table.field in ('a' , 'b' , 'c' ) per

    esempio 2 : DOVE table.field in ( ritorno di sottoquery insieme di valori)
    ESISTE operator

    ESISTE operatore restituisce tutti i principali file di query se la subquery contiene tutte le righe .

    esiste è usato solo in combinazione con una sottoquery . Righe restituite sono determinati dal filtraggio a livello di query principale. Esempio : DOVE ESISTE ( il ritorno di sottoquery insieme di valori)
    Differenza

    IN non può valutare NULL , per cui le righe sono sempre false , e non tornarono .

    ESISTE può valutare NULL , quindi queste righe possono essere restituiti .
    somiglianze

    esiste e in entrambi supporto subquery correlate e non correlate , e entrambi possono produrre principali risultati simili . Quando correlata , esiste e sospesa, un campo di query principale per un campo di sottoquery ( es: main.id = subquery.id ) . La subquery restituisce riga per riga , per ogni corrispondenza trovata . In questo caso , IN e EXISTS restituisce le stesse righe in base a simili incontri id . Quando non correlati , esiste e IN processo loro sottoquery prima, poi i risultati delle partite alla query principale.
    Prestazioni di esiste e IN

    prestazioni sono determinate dalla banca dati ottimizzatore e il piano di esecuzione che impiega per il codice eseguito . Per EXISTS e IN , l'ottimizzatore può scegliere percorsi diversi . In Oracle , questo è di NON ESISTE evitando un anti -join , e in genere dimostrando veloce di NOT IN . Alla fine, un po 'di tentativi ed errori è necessario per riferimento il percorso più veloce a seconda del database e la sua versione in uso . Assicurarsi di utilizzare l'operatore che assicura i risultati corretti , poi se tutto è lo stesso , provare EXISTS sostituendo e per vedere realmente che è più veloce .

    Previous :

    next :
      Articoli Correlati
    ·Come scrivere un file Effetto per XNA Games 
    ·Come Elimina dalla Oracle e SQL 
    ·Problemi con l'installazione del Service Pack 3 
    ·Alice Aiuto Programmazione 
    ·Come il ping di un intervallo di indirizzi IP 
    ·Come modificare l' altezza e larghezza al passaggio del…
    ·Come costruire applicazioni SaaS 
    ·Come formattare un controllo GridView 
    ·Che cosa è la codifica digitale 
    ·Come Digita un Overstrike 
      Articoli in evidenza
    ·Come imparare la matematica di base mediante applet Jav…
    ·Requisiti di sistema per Visual Studio 2008 Express 
    ·Come modificare testo HTML in input jQuery 
    ·Come costruire un CSS con MySQL e PHP 
    ·Come imparare rapidamente il Web Design 
    ·Come ottenere Java a Stampa asterischi consecutivi 
    ·Come cambiare una riga in un file PHP 
    ·Come rimuovere le nuove righe in Python 
    ·Quali sono normali limiti INT 
    ·Come creare eccezioni definite dall'utente in Java 
    Copyright © Conoscenza Informatica http://it.wingwit.com