Complex educațional de programare și bază de date

29. Manipularea datelor. Limbajul interogărilor SQL.

Notă. x, y, z sunt numere sau expresii care au un rezultat numeric. l, l1, l2 sunt constante logice (1 sau 0) sau expresii logice. s este un șir sau o expresie care are un rezultat ca un șir. v, v1, v2 sunt variabile sau expresii.






modelul este o constantă sub forma unui șir de caractere, care poate conține metacaracterele "%" și "_". În eșantion, metacaracterul "_" este comparabil cu orice caracter unic al sirului s, metacaracterul "%" - cu orice șir de caractere ale oricărei lungimi (inclusiv zero).
4. În general, v_vyrazhenie acceptă funcțiile agregativi (numită grup) luând ca valorile sale de argument unic de toate celulele din coloana menționată a tabelei rezultat.
SUM (x) suma valorilor din coloana x a tabelului de rezultate
MAX (x) este cea mai mare valoare a tuturor celulelor coloanei x
MIN (x) este cea mai mică dintre valorile tuturor celulelor coloanei x
AVG (x) este valoarea medie pentru toate valorile celulei coloanei x
COUNT (x) numărul total de celule din coloana x
exemplu:
Următoarea instrucțiune SELECT vă permite să determinați numărul total de înregistrări dintr-un tabel:
SELECT COUNT (*) FROM elemente;
Descrierea criteriului de selecție pentru conținutul rândurilor matricei rezultate
Ca un criteriu pentru selectarea informațiilor din tabelele din lista FROM a unei instrucțiuni SELECT, o condiție complicată este scrisă după cuvântul cheie WHERE și are următoarea formă:
condiție simplă
sau
simple_condition AND complex_conditions
sau
stare simplă sau complexă
Opțiunile tipice sunt simple.
comparație
full_column_name @ full_column_name_or_constant_name
unde @ este unul dintre operatorii de comparare:> ("mai mult"), <("меньше"),>= ("nu mai puțin"), <= ("не больше"), = ("равно"), <> ( „Nu“) și polnoe_imya_stolbtsa - numele coloanei, nume personalizat sau sinonimul nume de tabel, dacă este necesar, așa cum este descris mai sus.






Organizarea și gruparea rândurilor tabelului rezultat
Pentru a asigura structura rândurilor în tabela de rezultate în instrucțiunea SELECT, se folosesc clauzele GROUP BY și ORDER BY.
Ordonarea rândurilor este realizată prin enumerarea numelor întregi ale coloanelor, prin care rândurile de tabele rezultate sunt sortate în ordine crescătoare (ASC) sau descendentă (DESC). În acest caz, rândurile sunt ordonate mai întâi de coloana specificată mai întâi în lista ORDER BY. Apoi, dacă există valori repetate între valorile celulelor din prima coloană, ordonarea este efectuată pe a doua coloană și așa mai departe.
exemplu
Să fie necesar să se obțină informații despre elementele finite prin comanda;
în primul rând, de către identificatorii nodurilor care sunt primul vârf al elementului finit;
în al doilea rând, de identificatorii nodurilor care sunt al doilea punct al elementului finit;
Pentru a rezolva această problemă, putem folosi următorul operator
SELECT * FROM elemente ORDER DE n1, n2;
Structura AVÂND slozhn_uslovie ca o componentă opțională a GROUP BY teză, permite determinarea suplimentară (la UNDE slozhn_uslovie) rânduri în criteriile de selecție de grup. Acest criteriu suplimentar se aplică în modul postprocesare tabelului obținut ca urmare a utilizării criteriului din clauza WHERE.
TOP n [PERCENT]. Dacă utilizați acest argument, instrucțiunea SELECT returnează numai primele n rânduri din setul de rezultate. Dacă este afișat cuvântul cheie PERCENT, vor fi returnate primele linii care compun n procent din numărul total de rânduri. Atunci când se utilizează un PROCENT cuvânt cheie, numărul n ar trebui să fie în intervalul de la 0 la 100. În cazul în care interogarea a licitat ORDER BY, liniile de ieșire sunt sortate mai întâi și apoi din setul de rezultate sortate generează un primele n rânduri sau n procente din numărul total de rânduri. (Pentru clauza ORDER BY, vedeți "Clauza ORDER BY" de mai jos.)

Mai jos sunt trei exemple de pornire a unei instrucțiuni SELECT cu argumente diferite. În primul dintre ele, la pornire, se folosește argumentul DISTINCT, în al doilea - argumentul TOP 50 PERCENT, iar în al treilea - argumentul TOP 5:
SELECTARE DISTINCT au_fname, au_lname
Din autorii
GO
SELECTARE TOP 50 PERCENT au_fname, au_lname
Din autorii
GO
SELECTĂ TOP 5 au_fname, au_lname
Din autorii
GO

Prima interogare va returna 23 de rânduri, fiecare dintre acestea va fi unică. A doua interogare returnează 12 rânduri (aproximativ 50%, rotunjită la un număr mai mare), iar cea de-a treia interogare returnează 5 rânduri.

În plus față de comanda SELECT, SQL conține proiecția, asocierea, asocierea, crearea și modificarea structurii tabelelor bazei de date, care nu sunt luate în considerare în acest curs.







Trimiteți-le prietenilor: