Az sql használatával információt nyerhet a táblázatokból

Ebben a fejezetben megmutatjuk, hogyan kell a táblázatokból adatokat kihúzni. Megtanulja, hogyan hagyhatja el vagy átrendezheti az oszlopokat, és hogyan csökkentheti automatikusan a redundanciát a kimenetében. Összefoglalva, megtudhatja, hogyan kell beállítani egy állapotot (ellenőrzés), amellyel meghatározhatja, hogy a táblázatban milyen sorokat használnak a kimeneten. Ez utóbbi funkciót a későbbi fejezetekben részletesen ismertetjük, és az egyik legelegánsabb és legerősebb az SQL-ben.

KÉRÉS KÉSZÍTÉSE

MI A VIZSGÁLAT?

A lekérdezés egy parancs, amelyet megadsz az adatbázis-programodnak, és amely azt mondja, hogy bizonyos információkat a táblákból a memóriába hoz. Ez az információ általában küldött közvetlenül a számítógép vagy terminál képernyőjén, amelynek használata, bár a legtöbb esetben akkor is meg kell küldeni a nyomtatóra, fájlba menthető (mint egy tárgy a számítógép memóriájában), illetve hogy a háttér-információkat egy másik csapat vagy egy folyamat.

HA A HASZNÁLATRA ALKALMAZHATÓ?

Minden SQL lekérdezésnek egyetlen összetevője van. Ennek a parancsnak a szerkezete megtévesztően egyszerű, mivel kiterjesztheti komplex értékelésekre és adatfeldolgozásra. Ezt a parancsot SELECT néven hívják.

SELECT COMMAND

A legegyszerűbb formában a SELECT utasítás egyszerűen arra utasítja az adatbázist, hogy kivonja az adatokat a táblából. Például egy értékesítői táblázatot adhat ki azáltal, hogy beírja a következőket:

A lekérdezés kimenete a 3.1 ábrán látható.

Más szóval, ez a parancs egyszerűen kimeneti adatokat az asztalról. A legtöbb program az oszlopfejléceket is megadja, a fentiek szerint, és egyesek lehetővé teszik a részletes kimeneti formázás definiálását, de ez meghaladja a szabványos specifikációt.

Íme a parancs minden egyes részének magyarázata:

SELECT A kulcsszó, amely az adatbázist jelzi, hogy ez a parancs lekérdezés. Minden kérés e szóval kezdődik, majd egy szóköz. snum, sname Ez a listában szereplő oszlopok listája, amelyeket a lekérdezés választ. Az itt felsorolt ​​oszlopok nem szerepelnek a parancs kimenetében. Ez természetesen nem jelenti azt, hogy törlésre kerülnek, vagy az információikat törlik a táblázatokból, mivel a lekérdezés nem érinti a táblázatban szereplő információkat; csak az adatokat mutatja. FROM Salespeople FROM - a SELECThez hasonló kulcsszó, amelyet minden kérésben be kell mutatni. Ezt a helyet és a tábla nevét használják információforrásként. Ebben az esetben ez a Salespeople táblázat. ; Minden interaktív SQL parancsban pontosvesszőt használnak az adatbázis megadásához, hogy a parancs írható és készen álljon a végrehajtásra. Bizonyos rendszerekben a parancsmutató vége a stringben lévő backslash (\).

Természetesen egy ilyen jellegű lekérdezés nem feltétlenül rendezi a kimenetet bármely meghatározott módon. Ugyanaz a parancs, ugyanazzal az adatokkal végrehajtva, de más időkben nem lesz képes ugyanarra a sorrendre. Általában a sorok abban a sorrendben találhatók, amelyben megtalálhatók a táblázatban, mert ahogyan az előző fejezetben megállapítottuk, ez a sorrend önkényes. Ez nem feltétlenül az adattárolás sorrendje. A kimenetet közvetlenül SQL parancsokkal rendezheti speciális mondattal. Később meg fogjuk mutatni, hogyan történik ez. És most emlékszel arra, hogy a kifejezett megrendelés hiányában nincs végleges sorrend a következtetésedben.

A kocsi vissza (ENTER) önkényes. Pontosan meg kell határoznunk, hogyan kényelmesebb a lekérdezés összeállítása - több sorban vagy egy sorban - az alábbiak szerint:

Mivel az SQL pontosvesszőt használ a parancs végeinek megjelölésére, a legtöbb SQL program a térképről (a Return vagy az ENTER billentyűk megnyomásával) kezeli a kocsi visszatérését. Jó ötlet az, hogy korábban használjuk a kocsi visszatérését és összehangolását, hogy könnyebben olvashassunk és érthetőbbé tegyük a parancsokat.

MINDIG A LEGKISEBB VÁLASZTÁST VÁLASZTJA

Ha meg szeretné tekinteni a táblázat összes oszlopát, akkor választható parancsikont használhat. Egy csillag (*) használható az oszlopok teljes listájának megjelenítéséhez az alábbiak szerint:

Ez ugyanazt az eredményt eredményezi, mint az előző csapatunk.

LEÍRÁS SELECT

Általánosságban elmondható, hogy a SELECT utasítás SELECT kulcsszóval kezdődik, amelyet egy szóköz követ. Ezután kövesse az oszlopnevek listáját, amelyeket vesszővel elválasztva látni szeretne. Ha a táblázat összes oszlopát szeretné látni, akkor ezt a listát egy csillaggal (*) helyettesíti. A FROM klauzulát, a következőt, követi egy szóköz és a táblázat neve, amelynek lekérdezése történik. A végén egy pontosvesszőt (;) kell használni a kérés befejezéséhez, és jelezni kell, hogy a parancs készen áll a végrehajtásra.

A SELECT parancs képes szigorúan meghatározott információkat kivonni egy tábláról. Először is lehetőségünk nyílik arra, hogy csak a táblázat megadott oszlopait láthassuk. Ez könnyű: egyszerűen törölni azokat az oszlopokat, amelyeket nem szeretné látni a SELECT parancsból. Például egy lekérdezést

a 3.2. ábrán látható kimenetet fogja produkálni.

Lehetnek olyan táblázatok is, amelyek nagy számú, az adatokat tartalmazó oszlopot tartalmaznak, amelyek nem mindegyike szükséges a feladat befejezéséhez. Ezért megtalálhatja a módját, hogy kiválassza és csak az Ön számára hasznos oszlopokat válassza ki.

AZ ÜZEMMÓD REAKCIÓJA

Még akkor is, ha a táblázat oszlopai definíció szerint rendezettek, ez nem jelenti azt, hogy ugyanabban a sorrendben visszaállítja őket. Természetesen egy csillag (*) megmutatja az összes oszlopot természetes sorrendben, de ha külön megadja az oszlopokat, akkor a kívánt sorrendbe teheti őket. Nézzük meg a megrendelések táblázatát, amely tartalmazza a vásárlás dátumát (odate), az eladó számát (snum), a rendelési számot (onum) és a vásárlási összeget (amt):

A lekérdezés kimenete a 3.3. Ábrán látható.

Amint láthatja, a táblázatok információs struktúrája csak az SQL struktúrájának aktív szerkezetátalakításának alapja.

TÖKÉLETES ADATOK TÖRLÉSE

A DISTINCT egy olyan argumentum, amely lehetővé teszi a kettős értékek kiküszöbölését a SELECT záradékból. Tegyük fel, hogy szeretné tudni, hogy melyik eladónak van megrendelése a Rendelések táblázatban. A megrendelés (a továbbiakban) a Megbízások táblázatban szereplő bejegyzést jelenti, amely egy meghatározott időpontban egy meghatározott ügyféllel egy adott eladó számára egy meghatározott összegre megszerzett akvizíciókat rögzíti. Nem kell tudni, hogy hány rendelés van; csak az eladói számok listájára van szükség (snum). Ezért megadhatja a következőket:

hogy megkapja a 3.4 ábrán látható kimenetet

Ha duplikátum nélküli listát szeretne megkapni, az olvashatóság érdekében meg kell adnia a következőket:

A lekérdezés kimenetét a 3.5 ábra mutatja.

Más szavakkal, a DISTINCT nyomon követi, hogy milyen értékek voltak korábban, hogy azok ne legyenek duplikálva a listában. Ez hasznos módja annak, hogy elkerüljük az adatok redundanciáját, de fontos megérteni, hogy mit csinálsz. Ha nem akarja elveszteni az adatokat, akkor ne használja a DISTINCT-t gond nélkül, mert elrejti a problémát vagy fontos adatokat. Például feltételezheti, hogy az ügyfelek nevei különbözőek. Ha valaki felveszi a második Clement az Ügyféltáblába, és a SELECT DISTINCT cname-et használod, akkor nem is tudsz a kettős létezéséről. Meg lehet szerezni a rossz Clement, és nem is tud róla. Mivel nem számít redundanciára, ebben az esetben ne használja a DISTINCT-et.

DISTINCT PARAMÉTEREK

A DISTINCT csak egyszer adható meg ebben a SELECT klauzulában. Ha a mondat több mezőt választ,

A DISTINCT elhagyja a sorokat, ahol az összes kijelölt mező azonos. Azok a sorok, amelyekben egyes értékek megegyeznek, és néhány más, meg lesznek mentve. A DISTINCT valójában a teljes kimeneti vonal megjelenítését teszi lehetővé anélkül, hogy megadná a mezőket (kivéve, ha a 6. fejezetben leírt összesített függvényekben használják), így nincs értelme megismételni.

MINDEN BELÜL

A DISTINCT helyett megadhatja az ALL értéket. Ennek ellentétes hatása lesz, a kimeneti sorok ismétlődése megmarad. Mivel ez a helyzet, ha nem adja meg a DISTINCT vagy az ALL értékeket, akkor az ALL lényegében magyarázó és nem hatékony érv.

JAVASLATOK HASZNÁLATÁVAL KAPCSOLATOS MINŐSÍTETT VÁLASZTÁS

Az asztal nagymértékben növekszik, mivel egyre több sor kerül rá. Mivel általában csak bizonyos sorok érdeklik Önt egy adott időpontban, az SQL lehetővé teszi a kritériumok meghatározását annak meghatározásához, hogy mely sorokat választja ki a kimenethez.

WHERE egy SELECT utasítás, amely lehetővé teszi olyan predikátumok beállítását, amelyeknek a feltételei lehetnek true (true) vagy false (false )ek a táblázat bármely sorában. A parancs csak azokat a sorokat veszi fel az asztalról, amelyre az ilyen utasítás igaz. Tegyük fel például, hogy látni szeretné az eladók nevét és jutalékát Londonban. Ezt a parancsot megadhatja:

Amikor egy WHERE záradék van megadva, az adatbázis-program soronként leképezi a teljes táblázatot, és megvizsgálja az egyes sorokat annak megállapítására, hogy a kifejezés igaz-e. Ezért a Peel rekord esetében a program megvizsgálja a város oszlopának aktuális értékét, megállapítja, hogy "London", és ezt a vonalat tartalmazza a kimeneten. A Serres bejegyzés nem lesz engedélyezve, és így tovább. A fenti lekérdezés kimenete a 3.6. Ábrán látható.

Próbáljunk példát egy numerikus mezővel a WHERE klauzulában. Az ügyféltáblázat ügyféltáblája az ügyfeleket csoportokba osztja bizonyos kritériumok alapján, amelyek e számon keresztül elérhetők. Talán ez a hitelminősítés vagy értékbecslés egyik formája a korábbi akvizíciók volumenén alapulva. Az ilyen számkódok hasznosak lehetnek relációs adatbázisokban, mint komplex információ összefoglaló módjának. Kiválaszthatunk minden olyan ügyfelet, akinek 100-as minősítése a következő:

Egyetlen idézőjelet itt nem használnak, mert a pontszám egy numerikus mező. A lekérdezés eredményeit a 3. ábrán mutatjuk be.

A WHERE záradék összeegyeztethető az ebben a fejezetben szereplő korábbi anyaggal. Más szavakkal, az oszlopok számát, az ismétlődések megszüntetését vagy az oszlopok átrendezését használhatja a WHERE-t használó SELECT utasításban. Azonban az oszlopok sorrendjét csak a SELECT klauzulában szereplő nevek esetében módosíthatja, de nem a WHERE klauzulában.

A legfontosabb, hogy beállíthatja a predikátumnak nevezett állapotot, amely meghatározza vagy nem határozza meg ugyanabból a sorokból több ezernyi értéket, függetlenül attól, hogy a megadott sort választották-e a kimenetre.

A predikátumok nagyon összetettek lehetnek, így nagy pontossággal dönthetjük el, hogy mely sorokat választja a lekérdezéssel. Ez az a képesség, hogy eldönthesse, pontosan mit szeretne látni, olyan nagy SQL lekérdezéseket tesz lehetővé. A következő fejezetek többet fognak szentelni azoknak a tulajdonságoknak, amelyek kiterjesztik a predikátumok erejét. A 4. fejezetben bemutatjuk azokat a műveleteket, amelyek nem a predikátumkörnyezetben használatosak, és hogyan kombinálhatjuk több feltétel egyetlen predikátumba.

SQL MUNKÁK

Kapcsolódó cikkek