Sql lekérdezésével több asztalt

  • SQL lekérdezés több táblából

    Ezt megelőzően, minden kérést, amely már úgy alapuló egyetlen tábla. Ebben a fejezetben uzn # x0301; aete szeretné kérni bármilyen számú táblát egyetlen paranccsal. Ez egy rendkívül hatékony eszköz, mert nem csak a kimenetét kombinálja több asztalon, hanem meghatározza a közöttük lévő kapcsolatok. Most megtudhatod, a különböző formák segítségével ezeket a kapcsolatokat, valamint a konfigurációs és felhasználási hogy megfeleljen a különleges követelmények lehetséges.

    SZÖVETSÉGE táblázatok

    Az egyik legfontosabb jellemzője az SQL lekérdezések - képesek meghatározzák a kapcsolatot több táblát, és megjeleníti az adatokat, amelyek, tekintve ezek a kötések, mindezt egyetlen paranccsal. Ez a fajta műveletet hívják egyesület, amely egy olyan típusú műveletek relációs adatbázis. Amint azt az 1. fejezet A legfontosabb dolog a kommunikációban egy relációs megközelítés lehet létrehozni adatok közötti a táblázatokban. Segítségével egyesületek, azonnal társítani az információkat bármilyen számú táblát, és így képes létrehozni közötti kapcsolatok összehasonlítható adatok töredékek. Amikor a kombinált, a táblázatban, a lista nézetben a FROM záradék, vesszővel elválasztva. lekérdezés állítmány utalhat bármely oszlop és a hozzájuk kapcsolódó tábla, ezért lehet használni a kommunikáció közöttük. Jellemzően állítmány összehasonlítja az oszlopában lévő értékek a különböző táblázatok annak megállapítására, hogy WHERE beállított állapotban.

    Táblázat és az oszlop nevek

    Teljes táblázat oszlop neve valójában áll egy tábla nevét, majd egy pont, majd a nevét az oszlop. Íme néhány példa a neveket:

    Ezt megelőzően, akkor kihagyja a nevét a táblák, mert kért egy időben csak egy asztal, és az SQL elég okos ahhoz, hogy jelöljenek ki egy megfelelő előtag asztalra. Még ha a lekérdezés több táblát, akkor is kihagyja a nevét a táblázatok, ha az összes oszlopot más nevük van. De ez nem mindig van így. Például, van két jellemző táblázat oszlopainak, az úgynevezett város.

    Ha kell kapcsolni ezeket az oszlopokat (rövid távú), akkor kell, hogy jelezze a nevüket vagy Salespeople.city Customers.city úgy, hogy az SQL tudja különböztetni őket.

    Létrehozása az Egyesült

    Tegyük fel, hogy szeretnénk, hogy a sorban a kereskedő az ügyfelek a városban, ahol élnek, így látni fogja minden kombinációját szállítók és az ügyfelek számára a város. Lesz szükség arra, hogy minden eladó és nézd a táblázatban az ügyfelek minden ügyfél ugyanabban a városban. Megteheted ezt a következő paranccsal (a kimenet látható 8.1 ábra):

    Mivel ez a város és az étkezési szállítók és a vevők, asztali nevek kell használni előtagként. Bár ez szükséges, csak akkor, ha kettő vagy több területen is ugyanaz a neve, minden esetben, ez egy jó ötlet, hogy tartalmazza a tábla nevét a szakszervezet a jobb megértés és a következetesség. Ennek ellenére, mi továbbra is a mi a példák táblaneveket csak szükség esetén, így lenne egyértelmű, ha szükség van rájuk, és mikor nem.

    SQL, hogy alapvetően nem a medencében, így vizsgál minden két vagy több sor lehetséges táblázatok és ellenőrizni ezeket a kombinációkat a saját predikátumok. Az előző példában, ez szükséges a húr Peel Sellers eladó az asztal és kombinálni minden sorban a táblázat felhasználók egyesével.

    Ha a kombináció egy értéket, ami az állítmány igaz, és ha a erővonalait a város az Ügyfél táblában egyenlő Londonban, a Peel - a kért értéket, amely kombinációja szelektál kimenet. Ezt azután történik minden eladó a táblázatban az eladó (melyek egy része nem volt az ügyfelek azok a városok).

    SZÖVETSÉGE táblákra referenciális integritás

    Ezt a funkciót gyakran használják csak karbantartási kommunikációs épített be az adatbázisba. Az előző példában hoztunk létre a kapcsolat a két táblázat a medencében. Ez rendben. De a táblák már keresztül kapcsolódik SNUM-mezőt. Ez a kapcsolat az úgynevezett állami hivatkozási integritás, mint mondtuk fejezetben 1. A szövetség, lekérheti az adatokat a kommunikációval.

    Például, hogy jelenjenek meg a nevek az összes fogyasztó, a gyártók, hogy őket szolgálják, akkor használja ezt a lekérdezést:

    A kimenő e lekérdezés ábrán látható 8.2.

    SZÖVETSÉGE asztalok egyenlő értékű
    Az oszlop és egyéb egyesületek

    Egyesület egyenlőség talán a leggyakoribb formája a szövetség, de vannak mások. Használhatja szinte minden relációs művelet társítható. Itt látható egy példa egy másik fajta egyesület (a kimenet ábrán látható 8.3):

    Ez a parancs nem gyakran hasznos. Átveszi az összes kombinációi a nevét az eladó és a vevő nevét, hogy az első megelőzi az utolsó alfabetikus sorrendben, és az utóbbi egy osztállyal kisebb mint 200. Általában nem hoz létre komplex kapcsolatok, mint ez, és ezért van, valószínűleg építeni a leggyakoribb egyesület az egyenlőség, de tudnia kell, jól, és egyéb jellemzőit.

    Mintegy BEDINENIE több mint két asztal

    Azt is hozza létre a lekérdezéseket, amelyek egyesítik a több mint két asztal. Tegyük fel, hogy meg akarjuk találni az összes megrendelés az ügyfelek, akik nem a városokban, ahol vannak eladók. Ebből a célból, (ábra 8.4 kimenet) kell kapcsolnia az összes három a mi mintaasztal:

    Bár ez a csapat úgy néz ki, mint egy bonyolult, akkor kövesse a logikát, csak annak ellenőrzése, hogy az ügyfelek ne kerüljenek a városokban, ahol leadták eladók (véletlen két SNUM mezők), és hogy ezek a megbízások teljesítése a segítségével ezek az ügyfelek (megfelelő megbízások mezőket cnum és rendelések táblázat SNUM).

    MŰKÖDÉS SQL