|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Computer Programspråk >> Content

    Skillnader mellan lagda & IN i SQL

    En ihållande utmaning i att använda SQL är att bestämma korrekt användning av de uppkommit, operatörer . De två operatörerna kan ge samma resultat , men inte alltid göra det . Det finns också omfattande debatt över hur varje aktör är optimerad för hastighet . Användare bör förstå de olika attributen för varje operatör och prova båda för att bestämma lämplig funktion . IN Operator

    Operatorn returnerar en rad om en WHERE betingad table.field värdet matchar en lista på värden . IN används vanligen som en del av en huvudsaklig fråga eller i förening med en underfråga

    Exempel 1 : . VAR Table.Field i ( "a" , "b" , "c" ) katalog

    Exempel 2 : VAR Table.Field i ( Subquery återkomst värdegrund )
    fINNS Operator

    EXISTS operatören returnerar alla huvudfrågan rader om delfråga innehåller några rader .

    EXISTS används endast i kombination med en underfråga . Rader returneras bestäms genom filtrering vid huvudfrågan nivå . Exempel : VAR FINNS ( Subquery återkomst värdegrund ) Addera ditt Skillnad


    IN kan inte utvärdera NULL , så dessa rader är alltid falska , och inte återvänt .

    FINNS kan utvärdera NULL , så dessa rader kan returneras .
    likheter

    uppkommit, både stöd korrelerade och icke - korrelerade underfrågor , och både kan producera huvudsakliga liknande resultat . När korrelerade , uppkommit, matchar en huvudfrågan fält till en delfråga fält (ex : main.id = subquery.id ) . Den underfråga utvärderar rad för rad , för varje funnit match. I detta fall kommer IN och existerar returnera samma rader som bygger på liknande id matcher . När icke - korrelerade , uppkommit, process sina delfrågor först , och sedan matcha resultaten till huvudfrågan .
    Utförande av uppkommit,

    Prestanda bestäms av databasen Optimizer och exekveringsplanen den använder för det exekveras koden . För uppkommit, kan optimeringsfunktionen välja olika vägar . I Oracle , är detta genom att INTE FINNS undvika en anti - gå , och typiskt bevisa snabbare än INTE IN . I slutändan är lite trial and error som krävs för att jämföra den snabbaste vägen beroende på databasen och det är version som används . Var noga med att använda den operatör som garanterar rätt resultat först , därefter, om allt är samma , försök ersättande uppkommit, att verkligen se vilken som är snabbare .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man gör arrayer i PCSpim
    ·Hur man skapar en webbdel med en anpassad Tool Part
    ·Hur man blir en Hacker
    ·MATLAB -kod för White Noise
    ·Definition av en låg nivå Undantag
    ·Hur man gör en Windows Forms App med Custom Colors
    ·Hur man använder Camel Hölje
    ·Hur man gör en 3D Browser
    ·Hur man lagrar en sträng variabel i heltalstyp
    ·Programmeringsteknik i hålkort Era
    Utvalda artiklarna
    ·Hur man skriver flera rader VB.NET
    ·Hur man skapar en PHP Counter utan att beskatta Server
    ·Hur man skapar en Array i Perl
    ·Hur man lägger till en kontroll i Visual Basic for App…
    ·Hur ansluta till SQL Server via VB.net
    ·Hur man skapar ett javascript Ticker
    ·Hur skicka text och HTML- e-postmeddelanden i PHP
    ·Hur konvertera en sträng till ett nummer i VBS
    ·Hur man tar bort Delsträngar i MySQL
    ·Hur man skriver Använda Javascript
    Copyright © Dator Kunskap http://www.dator.xyz