Képzés komplex programozás alapjai és adatbázis

29. Az adatok manipuláció. Nyelv SQL lekérdezések.

Megjegyzés. x, y, z - számok vagy kifejezések, amelynek számszerű eredményt. l, L1, L2 - logikai konstans (1 vagy 0), vagy logikai kifejezéseket. s - string vagy kifejezés az eredmény egy húr. v, V1, V2 - változót vagy kifejezést.
minta - állandó karaktersor, esetleg tartalmazó meta karakterek „%” és „_”. A minta joker „_” hasonlítható egyetlen karakterlánc s egy helyettesítő „%” - olyan karaktersorozatot bármely (nulla) hossza.
4. Általában v_vyrazhenie elfogadja aggregációs (más néven csoport) funkciót vesz, mint a kizárólagos argumentum értékeket minden sejtje az említett oszlop az eredmény táblázatban.
SUM (x) az összeget az oszlop x értékei eredmény táblázatban
MAX (x) a legnagyobb értéke az összes értékeit oszlop a sejtek X
Min (x) a legkisebb érték az összes érték egy oszlop a sejtek X
AVG (x) az átlagos érték értékekből az X oszlopban a sejtek
COUNT (x) a sejtek teljes száma az oszlopban X
például:
Válassza ki a következő nyilatkozatot, hogy meghatározzák a rekordok száma a táblázatban:
SELECT COUNT (*) elemekből;
Leírása a vizsgálati minta tartalmi sorait kapott mátrix
Mivel az adatok kiválasztási kritériumokat a listából táblázat SELECT végez slozhn_uslovie nyilvántartott után WHERE záradékot, és a következő formában:
prost_uslovie
vagy
prost_uslovie ÉS slozhn_uslovie
vagy
prost_uslovie VAGY slozhn_uslovie
Tipikus kiviteli alakok prost_uslovie a következők.
összehasonlítás
poln_imya_stolbtsa @ poln_imya_stolbtsa_ili_konstanta
ahol @ - az egyik összehasonlító operátorok:> ( „több”), <("меньше"),>= ( "Legalább"), <= ("не больше"), = ("равно"), <> ( „Nem”), és polnoe_imya_stolbtsa - oszlop neve, testreszabott neve vagy szinonimája táblázat nevét, ha szükséges, a fent leírt módon.
Rendelése és csoportosítás a sorok az eredmény táblázatban
Ahhoz, hogy a strukturált elrendezése a sorok az eredmény tábla SELECT használ tervezés GROUP BY és ORDER BY.
A rendelési sorok érjük el átadása teljes oszlop nevek, amelyek növekvő (ASC) vagy csökkenő (DESC) sorrendben rendezve eredményeket sort a táblázatban. Ebben a sorban vannak elrendezve az első oszlopban a megadott első ORDER BY listában. Aztán, ha néhány érték a sejtek az első oszlopban vannak ismétlődő készült rendelés a második oszlop, és így tovább.
példa
Tegyük fel, hogy a megjeleníteni kívánt információkat a végső elemek intézni;
Elsősorban azonosítói csomópont első vertex végeselemes;
másodsorban a azonosítóit csomópontok Vertex második végdarab;
az alábbi nyilatkozatot lehet használni, hogy megoldja ezt a problémát,
SELECT * FROM elemek ORDER BY n1, n2;
Szerkezetű, slozhn_uslovie választható komponense a mondat GROUP BY, lehetővé teszi, hogy meghatározza a további (amerre slozhn_uslovie) sorokban a csoport kiválasztási kritériumok. Ez a további kritérium használt utáni feldolgozási mód, hogy a táblázat alkalmazásával kapott a kritériumát, ha szerkezetét.
TOP n [percent]. Ha ez az érv SELECT visszatér csak az első n sorban az eredmény meg. Ha a beállított kulcsszó százalék, akkor visszatér az első sorban, amely n százaléka a sorok teljes száma. Ha egy kulcsszó százalék, az n szám legyen a 0-tól 100 Ha a lekérdezés bemondott ORDER BY, a kimeneti sorok vannak rendezve az első, majd a rendezett eredmény meg kiadja az első n sort vagy n százalékát a sorok számát. (Kb az ORDER BY záradékot, lásd. "Supply ORDER BY" cím alatt.)

Az alábbi három példa a SELECT futnak a különböző érveket. Az első ilyen használják indításkor érv KÜLÖNÁLLÓ, a második - az érvelés, TOP 50 százalék, és a harmadik - az érvelés TOP 5:
SELECT DISTINCT au_fname, au_lname
szerzőktől
GO
SELECT TOP 50 százalék au_fname, au_lname
szerzőktől
GO
SELECT TOP 5 au_fname, au_lname
szerzőktől
GO

Az első lekérdezés a 23 sorok, amelyek mindegyike egyedi. A második lekérdezés visszatér vonalak 12 (körülbelül 50%, a becslések szerint több több), és a harmadik lekérdezés visszatér az öt sor.

Amellett, hogy figyelembe véve a SELECT parancs az SQL utasításokat nyúlványok kapcsolatok, szövetségek, létrehozásához és módosításához adatbázis táblázat, amely ebben persze nem vesszük figyelembe.