Limbajul SQL, istorie, operatori de bază. Instrucțiuni SQL de bază. Sintaxă și exemple de utilizare a instrucțiunii SELECT Descrierea instrucțiunilor SQL și exemple

Scurtă descriere a operatorilor SQL

Lucrul cu instrucțiuni SQL

Selectarea datelor

Selectarea datelor este cea mai comună operație efectuată folosind SQL. Instrucțiunea SELECT este una dintre cele mai importante instrucțiuni din această limbă pentru selectarea datelor. Sintaxa pentru acest operator este următoarea:

SELECTAȚI lista-coloană FROM lista-tabel

Instrucțiunile SELECT trebuie să conțină cuvintele SELECT și FROM; alte cuvinte cheie precum WHERE sau ORDER BY sunt opționale.

Cuvântul cheie SELECT este urmat de informații despre câmpurile care trebuie incluse în setul de date rezultat. Un asterisc (*) indică toate câmpurile dintr-un tabel, de exemplu:

Pentru a selecta o singură coloană, se utilizează următoarea sintaxă:

SELECT CompanyName Un exemplu de selectare a mai multor coloane arată astfel:

SELECTează CompanyName, ContactName, ContactTitle

Dacă datele sunt selectate din mai multe tabele și, în același timp, câmpurile cu același nume sunt selectate din tabele diferite, ar trebui să vă referiți la numele tabelelor pentru a identifica complet câmpurile incluse în setul de date rezultat, de exemplu:

SELECTAȚI Customers.CompanyName, Shippers.CompanyName

PropozițieDIN

Cuvântul cheie FROM este folosit pentru a specifica numele tabelelor din care să se selecteze înregistrările, de exemplu:

SELECTAȚI * FROM Clienți

Această interogare va returna toate câmpurile din tabelul Clienți.

Dacă numai câmpurile CompanyName și ContactName sunt necesare în setul de rezultate, putem introduce următoarea clauză SELECT:

SELECTează CompanyName, ContactName FROM Clienți

Un exemplu de interogare pe mai mult de un tabel este prezentat mai jos:

SELECT Customers.CompanyName, Expeditori.CompanyName FROM Clienți, Expeditorii

clauza WHERE

Pentru a filtra rezultatele returnate de o instrucțiune SELECT, puteți utiliza clauza WHERE, a cărei sintaxă este:

WHERE expresia1 [(ȘI | SAU) expresia2 […]]

De exemplu, în loc să obțineți o listă completă de produse, vă puteți limita la acele produse care au o valoare CategoryID de 4:

SELECTAȚI * FROM Products WHERE CategoryID = 4

Puteți folosi diverse expresii în clauza WHERE, de exemplu:

SELECTAȚI * FROM Products WHERE CategoryID = 2 AND SupplierID > 10

SELECT ProductName, UnitPrice FROM Products WHERE CategoryID = 3 SAU UnitPrice< 50

SELECT ProductName, UnitPrice FROM Products WHERE Discontinued NU ESTE NULL

Expresia „NU ESTE NUL” înseamnă că coloana corespunzătoare a setului de date rezultat nu poate conține valori nule. Puteți utiliza unul dintre cei șase operatori relaționali definiți în SQL în clauza WHERE. Acești operatori sunt dați în tabel. unu.

Tabelul 1 Descrierea operatorului

< Меньше

<= Меньше или равно

<>Nu este egal

> Mai multe

>= Mai mare sau egal

Pe lângă operatorii simpli de comparare enumerați mai sus, puteți utiliza și operatorii speciali de comparare indicați în Tabel. 2.

Tabelul 2 Descrierea operatorului

ALL Utilizat împreună cu operatorii de comparare atunci când se compară cu o listă de valori

ANY Utilizat împreună cu operatorii de comparare atunci când se compară cu o listă de valori

BETWEEN Folosit atunci când se verifică dacă o valoare se află într-un interval dat (inclusiv limitele acesteia)

În Folosit pentru a verifica dacă o valoare este într-o listă.

LIKE Se aplică atunci când se verifică dacă o valoare se potrivește cu o mască dată

Dăm câteva exemple de utilizare a acestor operatori. Cuvântul cheie LIKE este folosit pentru a potrivi datele cu o mască:

SELECTează Nume Companie, Nume Contact FROM Clienți WHERE Nume Companie LIKE „M%”

În această mască, caracterul „%” (procent) înlocuiește orice secvență de caractere, iar caracterul „_” (subliniere) - orice caracter unic. Același rezultat poate fi obținut în felul următor:

SELECTAȚI Nume Companie, Nume Contact FROM Clienți WHERE Nume Companie ÎNTRE „M” ȘI „N”

În ultimul exemplu, putem extinde domeniul de aplicare al căutării. În special, atunci când căutați companii cu nume care încep cu literele de la A la C, puteți emite următoarea instrucțiune SELECT:

SELECTează Nume Companie, Nume Contact FROM Clienți WHERE Nume Companie ÎNTRE „A” ȘI „D”

Folosind operatorul LIKE, ne putem restrânge căutarea aplicând o mască de comparație mai complexă. De exemplu, pentru a găsi companii care conțin subșirul bl în numele lor, puteți utiliza următoarea interogare:

SELECTează Nume Companie, Nume Contact FROM Clienți WHERE Nume Companie LIKE '%bl%'

Masca „%bl%” arată că poate exista orice număr de caractere arbitrare înainte și după subșirul căutat.

Folosind operatorul IN, puteți specifica o listă de valori care ar trebui să conțină valoarea câmpului:

SELECTează Nume Companie, Nume Contact FROM Clienți WHERE ID Client IN („ALFKI”, „BERGS”, „VINET”)

Operatorii și, sau și nu

Am văzut deja un exemplu de utilizare a operatorului AND pentru operații logice care necesită o înregistrare pentru a satisface două criterii diferite. Luați în considerare următoarea interogare:

SELECTează CompanyName, ContactName FROM Customers WHERE CompanyName LIKE 'S%' AND Country = 'SUA'

Rezultatul acestei interogări va fi o listă de clienți aflați în Statele Unite ale Americii al căror nume începe cu litera S.

Operatorul OR vă permite să selectați înregistrări care îndeplinesc cel puțin una dintre condițiile enumerate, în timp ce operatorul NOT este folosit pentru a exclude înregistrările din setul de date care îndeplinesc o anumită condiție. De exemplu, puteți utiliza operatorul OR pentru a căuta toți clienții care fie sunt localizați în California, fie au un nume care începe cu litera S (și sunt localizați oriunde):

SELECTAȚI CompanyName, ContactName FROM Customers WHERE CompanyName LIKE ‘S%’ OR Region=’CA’

În acest caz, setul de date rezultat va conține înregistrări în care valoarea câmpului CompanyName satisface prima condiție, plus toate înregistrările în care valoarea câmpului Regiune satisface a doua condiție.

Acum să ne uităm la un exemplu de utilizare a operatorului NOT. Pentru a exclude unii clienți din setul de date rezultat, puteți utiliza o interogare precum:

SELECTează Nume Companie, Nume Contact FROM Clienți WHERE Țara NU ÎN („SUA”, „Marea Britanie”)

Ca urmare a acestei interogări, vom primi o listă de clienți din toate țările, cu excepția SUA și Regatul Unit.

ordonată prin clauză

Clauza ORDER BY (opțională) este utilizată pentru a sorta setul de rezultate după una sau mai multe coloane. Cuvintele cheie ASC (crescător) sau DESC (descendent) sunt folosite pentru a defini ordinea de sortare. În mod implicit, datele sunt sortate în ordine crescătoare. Sintaxa clauzei ORDER BY este:

ORDER BY coloana1 [(ASC | DESC)] [, coloana2 [(ASC | DESC)] [,…]

De exemplu, pentru a sorta angajații după nume de familie și apoi după prenume, utilizați următoarea interogare SQL:

SELECTAȚI Nume, Prenume, Titlu FROM Angajații ORDER BY Nume, Prenume

Dacă sortarea datelor este necesară în ordine descrescătoare (de exemplu, este necesară o listă de produse în ordinea descrescătoare a prețurilor), se folosește cuvântul cheie DESC:

SELECT ProductName, UnitPrice FROM Products ORDER BY UnitPrice DESC

SQL (interactiv).

12.1. Înțelegerea operatorilor SQL de bază

După cum sa menționat deja în „Software pentru lucrul cu baze de date moderne”, toate instrucțiunile SQL sunt împărțite în trei componente: DDL - limbaj de definire a datelor, DCL - limbaj de gestionare a datelor, DML - limbaj de prelucrare a datelor.

Să dăm exemple de operatori principali din părțile de mai sus (fără a descrie sintaxa). O descriere a sintaxei instrucțiunilor SQL poate fi găsită în numeroase cărți despre limbajul SQL, în meniul „Ajutor” al anumitor SGBD.

Operatori pentru restricționarea accesului utilizatorilor la obiectele bazei de date (DCL).

GRANT - Creează o intrare de securitate care permite utilizatorului să lucreze cu date sau să efectueze anumite operațiuni SQL.

DENY - Creează o intrare în sistemul de securitate care interzice accesul la un anumit cont.

Declarații de definire a datelor (DDL).

Operatorii corespunzători sunt destinați pentru crearea, ștergerea, modificarea principalelor obiecte ale modelului de date SGBD relațional: tabele, vederi, indecși.

CREAȚI TABEL<имя>- crearea unui nou tabel în baza de date.

DROP TABLE<имя> - ștergerea unui tabel din baza de date.

ALTER TABLE<имя>- modificarea structurii unui tabel existent sau a constrângerilor de integritate stabilite pentru acest tabel.

Când se efectuează operații similare cu vizualizări sau indexuri, în instrucțiunile specificate se scrie cuvântul VIEW ( vizualizare ) sau cuvântul INDEX ( index ) în locul cuvântului de serviciu TABLE

Declarații de manipulare a datelor (limbaj DML).

Instrucțiunile DML operează pe baza de date și sunt utilizate pentru a modifica datele și a prelua informațiile necesare.

SELECT - o selecție de rânduri care îndeplinesc condițiile date. Operatorul implementează, în special, astfel de operații de algebră relațională precum „selecție” și „proiecție”.

UPDATE - modificarea valorilor anumitor câmpuri din rândurile tabelului care îndeplinesc condițiile specificate.

INSERT - introduceți noi rânduri în tabel.

DELETE - ștergeți rândurile de tabel care îndeplinesc condițiile specificate. Utilizarea acestui operator ține cont de principiile menținerii integrității, astfel încât este posibil să nu fie întotdeauna executat corect.

12.2 Modul SQL interactiv (SQL interactiv)

Modul corespunzător asigură lucrul direct al utilizatorului cu baza de date conform următorului algoritm: folosind programul de aplicație (aplicația client) sau un utilitar standard inclus în DBMS, utilizatorul:

  • stabilește o conexiune la baza de date (confirmând disponibilitatea drepturilor de acces);
  • introduce instrucțiunea SQL corespunzătoare, dacă este necesar, introduce informații suplimentare în modul de dialog;
  • inițiază execuția unei comenzi.

Textul de solicitare este trimis la

SQL (Structured Query Language - „Structured Query Language”) este un limbaj de computer universal folosit pentru a crea, modifica și gestiona date în bazele de date relaționale. Limbajul SQL se bazează pe algebră relațională și este o colecție de operatori.

Există 4 grupuri de operatori. Luați în considerare un grup de operatori de manipulare a datelor (Data Manipulation Language, DML, SQL DML)

Selectarea datelor

Selectarea datelor este cea mai comună operație efectuată folosind SQL. Instrucțiunea SELECT este una dintre cele mai importante instrucțiuni din această limbă pentru selectarea datelor. Sintaxa pentru acest operator este următoarea:

SELECTARE coloana FROM tabel

Instrucțiunile SELECT trebuie să conțină cuvintele SELECT și FROM; alte cuvinte cheie sunt opționale.

Cuvântul cheie SELECT este urmat de informații despre câmpurile care trebuie incluse în setul de date rezultat. Un asterisc (*) indică toate câmpurile dintr-un tabel, de exemplu:

Pentru a selecta o singură coloană, se utilizează următoarea sintaxă:

SELECT Company

Un exemplu de selectare a mai multor coloane arată astfel:

SELECT companie, telefon, e-mail

Cuvântul cheie FROM este folosit pentru a specifica numele tabelelor din care să se selecteze înregistrările, de exemplu:

SELECTAȚI * FROM Clienți

Această interogare va returna toate câmpurile din tabelul Clienți.

Puteți utiliza clauza WHERE (opțională) pentru a filtra rezultatele returnate de instrucțiunea SELECT

SELECTAȚI * FROM Produse WHERE Categorie = 4

Puteți folosi diferite expresii în clauza WHERE,

WHERE expresia1 [(ȘI | SAU) expresia2 ...]

de exemplu:

SELECTAȚI * FROM Produse UNDE Categoria = 2 ȘI Postavshik > 10

SELECTAȚI Nume, Preț FROM Produse WHERE Categorie= 3 SAU Preț< 50

Puteți utiliza următorii operatori:

< Меньше

<= Меньше или равно

<>Nu este egal

> Mai multe

>= Mai mare sau egal

Clauza ORDER BY (opțională) este utilizată pentru a sorta setul de rezultate după una sau mai multe coloane. Cuvintele cheie ASC (crescător) sau DESC (descendent) sunt folosite pentru a defini ordinea de sortare. În mod implicit, datele sunt sortate în ordine crescătoare.

Modificarea datelor

Pe lângă preluarea datelor, SQL poate fi folosit pentru a actualiza și șterge date, pentru a copia înregistrări în alte tabele și pentru a efectua alte operațiuni. Mai jos, ne vom uita la instrucțiunile UPDATE, DELETE și INSERT utilizate pentru a îndeplini unele dintre aceste sarcini.

Declarație UPDATE

O instrucțiune UPDATE este folosită pentru a modifica valorile într-una sau mai multe coloane ale unui tabel. Sintaxa pentru acest operator este:

UPDATE tabelul SET column1 = expression1 WHERE criteriile

O expresie dintr-o clauză SET poate fi o constantă sau rezultatul unui calcul. De exemplu, pentru a crește prețul tuturor produselor care costă mai puțin de 10 USD, puteți rula următoarea interogare:

UPDATE Produse SET Pret = Pret * 1.1 WHERE Pret< 10

Declarația DELETE

Pentru a șterge rânduri din tabele, utilizați instrucțiunea DELETE, a cărei sintaxă este:

DELETE FROM tabelul WHERE criteriile

Eliminați toate produsele a căror valoare este mai mică de 100.

Lecția va lua în considerare limbajul de interogare: instrucțiunea SELECT sql - pentru a selecta datele

Selectați Interogare SQL este destinat selecției normale din baza de date. Acestea. dacă trebuie doar să obținem datele fără a face nicio prelucrare cu ele și fără a face modificări în baza de date, atunci putem folosi în siguranță acest zapmagaros.

Sintaxa instrucțiunii SELECT

SELECT * FROM table_name;

Acesta este cel mai simplu mod de a lucra cu operatorul atunci când selectăm toate înregistrările din tabelul bazei de date.

Simbolul * denotă preluarea tuturor înregistrărilor dintr-un tabel. În acest caz, coloanele și rândurile setului de rezultate nu sunt ordonate.

Luați în considerare exemple de interogări SQL Select:

Exemplu: dacă ați creat o bază de date locală și ați completat tabelele, așa cum sa discutat mai devreme (sau ați folosit serviciul sqlFiddle), atunci vom executa următorul exemplu.
Selectați toate înregistrările din tabelul profesorilor

SELECT * FROM table_name LIMIT 2,3;

În exemplu, din tabel sunt selectate 3 înregistrări, începând cu 2 înregistrări.
Această interogare este necesară în special atunci când se creează un bloc de pagini de navigare.

La ordonează câmpurile setului de rezultate, ar trebui să fie listate separate prin virgule în ordinea corectă după cuvântul SELECT:

SELECT numele, zarplata, premia FROM profesori ORDER BY nume;

Selectează valorile câmpurilor name , zarplata , premia și sortează după numele câmpului (în ordine alfabetică)


Exemplu: DB „Magazin de calculatoare”. Selectați informații despre viteza și memoria computerelor. Doriți să sortați setul de rezultate după viteza procesorului în ordine crescătoare.

SELECTAȚI `Viteza`,`Memorie` DIN `PC` COMANDĂ CU 1 ASC

Rezultat:

Puteți sorta după două câmpuri:

SELECT numele, zarplata, premia FROM profesori ORDEREA PENTRU nume DESC;

Selectează valorile câmpurilor name , zarplata , premia și sortează după numele câmpului în ordine descrescătoare


Eliminarea valorilor duplicate în SQL

În cazul în care trebuie să obțineți rânduri unice, puteți utiliza cuvântul cheie DISTINCT.

DISTINCT(tradus din engleza DIFERENTA) - un argument care elimină valorile duble:

Un exemplu de baza de date „Institut”: vrei să cunoști opțiunile posibile pentru cuantumul primelor. Dacă nu utilizați Distinct , rezultatul va fi două valori identice. Puteți șterge valorile duplicate în sql cu introducerea Distinct - ca urmare, valorile duplicate nu se repetă.

    SELECTARE Viteza, Memorie DE LA PC;

    Rezultat:

    În tabelul PC, câmpul de cod este cheia primară. Deoarece acest câmp nu este prezent în interogare, există rânduri duplicat în setul de rezultate de mai sus.

    Când trebuie să obțineți șiruri unice (de exemplu, ne interesează doar diferite combinații de viteză a procesorului și dimensiunea memoriei, și nu caracteristicile tuturor computerelor disponibile), atunci trebuie să utilizați Distinct:

    SELECTARE DISTINCT Speed, Memory FROM PC;

    SELECTARE DISTINCT Speed, Memory FROM PC;

    Rezultat:

    sql selectează 1_1 job. DB „Institut” Executați o interogare pentru a prelua id și numele din tabelul profesorilor. Sortați numele de familie a profesorilor în ordine descrescătoare

    limbaj sql: condiția unde

    Condiția este îndeplinită de sentință
    UNDE
    care se scrie după clauza FROM.

    În acest caz, doar acele înregistrări pentru care valoarea predicatului este egală cu TRUE (adevărat) vor intra în setul de rezultate.

    Un exemplu de baza de date „Institut”: Afișați datele profesorului din tabelul profesorilor, al cărui nume este Ivanov

    Condiții multiple în SQL

    Predicatele (condițiile) pot consta dintr-o singură expresie sau orice combinație de expresii construite folosind operatori booleeni:

  1. ȘI ,
  2. sau nu
  3. Un exemplu de baza de date „Institut”: afiseaza codul profesorului al carui salariu este 10000 , și prima 500

    Operatori relaționali întâlniți în condiții:
    = Egal
    > mai mult decât
    >= Mai mare sau egal
    Nu este egal

    Între în SQL (între)

    Predicatul BETWEEN verifică dacă valorile expresiei testate se încadrează în intervalul definit de expresiile de limită unite de cuvântul cheie AND.

    Sintaxă:

    <Проверяемое выражение>ÎNTRE<Начальное выражение>ȘI<Конечное выражение>

    Exemplu de bază de date „Institut”: Tipăriți numele și salariul unui profesor al cărui salariu este între 5000 și 10000.

    Exemplu de bază de date „Institut”: Afișați numele de familie și salariul unui profesor al cărui salariu nu este în intervalul de la 5000 la 10000.

    IN predicat

    Predicatul IN determină dacă valoarea expresiei care este testată va fi găsită într-un set de valori care este definit în mod explicit.

    Sintaxă:

    < Проверяемое выражение>[NU ÎN(< набор значений> )

    <Проверяемое выражение>ÎN(<набор значений>)

    Exemplu de bază de date „Institut”: afișați numele profesorilor al căror salariu este de 5000, 10000 sau 11000

    Exemplu de bază de date „Institut”: afiseaza numele profesorilor al caror salariu nu se afla printre valorile: 5000 , 10000 sau 11000

    sql select job 1_3. DB „Institut” Afișați numele de familie, salariul și bonusul profesorilor al căror bonus este de la 2000 la 5000 de ruble.

În limbajul de interogare SQL ocupa un loc semnificativ instrucțiunea SELECT, deoarece cu ajutorul acestuia efectuăm o selecție în baza de date. În acest articol, vom acoperi elementele de bază ale acestei instrucțiuni SQL foarte importante.

Există o mulțime de articole, cărți, tutoriale despre SQL pe Internet, dar toate sunt dificile pentru o persoană care nu a auzit niciodată despre SQL și poate chiar despre programare și, prin urmare, toate aceste surse sunt greu de studiat pentru el. Aici încerc să explic elementele de bază ale unui singur operator fără a aprofunda prea mult ( aceasta este ceea ce face dificilă studierea faptului că trec imediat de la elementele de bază la interogări complexe), așa că mai întâi trebuie să învățați elementele de bază, apoi să treceți la altele mai complexe, ceea ce face mai ușor să învățați limbajul SQL. Acest articol este excelent pentru începătorii care doresc să învețe cum să scrie interogări SQL simple pentru a prelua date.

Ce este limbajul SQL și instrucțiunea SELECT

SQL este un limbaj de interogare care este folosit pentru a manipula (gestiona) datele din bazele de date relaționale. Are o mare popularitate și, prin urmare, orice IT-k care se respectă ar trebui să cunoască elementele de bază ale acestui limbaj, deoarece aproape fiecare companie are baze de date.

SELECTAȚI– operator al limbajului SQL, aparține grupului operatorilor de manipulare a datelor ( Limbajul de manipulare a datelor, DML) și servește la preluarea datelor din baza de date.

Notă! Pentru a învăța limbajul SQL și bazele de date, există ediții speciale gratuite ale SGBD-urilor mari, de exemplu, SQL Server de la Microsoft are o ediție Express. Puteți citi cum să instalați acest SGBD în materialul - Descrierea instalării Microsoft SQL Server 2016 Express.

Iată cel mai simplu exemplu de utilizare a instrucțiunii SELECT.

SELECT * FROM Table

  • * - arată toate datele;
  • FROM - de la sursă;
  • Tabel - numele sursei ( în cazul nostru tabelul).

Dar, în practică, adesea nu avem nevoie de toate datele din tabel și uneori doar de unele coloane, pentru aceasta specificăm pur și simplu numele coloanei dorite în loc de * ( sau difuzoare), de exemplu:

SELECTAȚI prețul din tabel

unde, Preț este numele coloanei.

Notă! De exemplu, folosim un tabel simplu care listează modelele de computere, prețul și numele acestora.

Dacă trebuie să specificați mai multe coloane, atunci pur și simplu enumerați-le separate prin virgule după instrucțiunea SELECT, de exemplu

SELECTAȚI prețul, numele, modelul DIN Tabel

unde, prețul, numele, modelul sunt coloane din tabelul Tabel.

Condiție de selecție - clauza WHERE

În procesul de eșantionare, destul de des trebuie să filtram datele în funcție de o anumită condiție, de ex. nu toate datele, ci numai cele care se potrivesc cu condiția, în constructul SELECT, puteți utiliza operatorul pentru aceasta UNDE.

SELECTAȚI prețul din tabelul unde prețul > 100

unde, UNDE este condiția, i.e. afișăm numai acele rânduri care se potrivesc cu condiția noastră ( pret peste 100).

Operatori de comparație în SQL

  • ">" - mai mult decât orice;
  • «<» – меньше чего-нибудь;
  • "=" - egal;
  • «<>" - nu este egal;
  • ">=" - mai mare sau egal;
  • «<=» – меньше или равно.

De asemenea, puteți specifica cuvântul cheie în condiție ÎNTRE, adică valoarea se încadrează sau nu într-un anumit interval, de exemplu

SELECTAȚI prețul din tabel WHERE prețul ÎNTRE 400 ȘI 600

unde, precizam ca pretul sa fie intre 400 si 600.

Pentru a verifica dacă valoarea expresiei testate aparține unui anumit set de valori, puteți utiliza predicatul ÎN.

SELECTAȚI prețul din tabel WHERE prețul IN (400, 600)

În acest caz, vrem doar prețul cu un cost de 400 și 600.

Dacă trebuie să obținem doar rândurile unice ale sursei, putem specifica cuvântul cheie DISTINCT, de exemplu

SELECTAȚI prețul DISTINCT DIN Tabelul WHERE prețul > 100

Notă! Limbajul SQL nu face distincție între majuscule și minuscule, interogările pot fi scrise pe o singură linie sau împărțite în mai multe. De exemplu, următoarele două interogări sunt exact aceleași.

SELECTAȚI prețul din tabel

selectați prețul din tabel

Sortare ORDER BY

Foarte des este necesar să sortați rezultatul unei interogări după un anumit câmp ( coloană). Pentru a face acest lucru, după cerere, specificați construcția COMANDA PENTRUși acele câmpuri ( mai multe pot fi separate prin virgule) a sorta după.

SELECTAȚI prețul din tabel ORDENAȚI DUPĂ preț DESC

Acesta este un exemplu de sortare în ordine descrescătoare, dar puteți sorta și în ordine crescătoare, în loc de DESC scriem ASC, dar de obicei nu scriem astfel, deoarece sortarea crescătoare este implicită.

Funcții agregate în SQL

Există așa-numitele funcții de agregare foarte utile în SQL, și anume:

  • NUMARA— numărul de valori din coloana specificată;
  • SUMĂ este suma valorilor din coloana specificată;
  • AVG- valoarea medie din coloana specificată;
  • MIN— valoarea minimă din coloana specificată;
  • MAX— valoarea maximă din coloana specificată.

De exemplu, trebuie să obținem prețul mediu al unui computer, maxim și minim, pentru aceasta putem scrie următoarea interogare

SELECTAȚI AVG(preț), MAX(preț), MIN(preț) DIN tabel

A SE GRUPA CU

Puteți grupa valorile pe coloane, de exemplu, trebuie să aflăm prețul mediu pentru fiecare model de computer, în acest caz interogarea va fi astfel

SELECT model, AVG (preț) AS AVGPrice FROM tabel GROUP BY model

Dacă observați, am folosit sarcina aici " alias» pentru o percepție mai convenabilă a rezultatelor acestei interogări, de ex. după coloană, scrieți AS și numele pe care doriți să fie afișat în rezultate.

La fel ca și atunci când utilizați condiții în coloane individuale, puteți specifica și o condiție pentru întregul grup, folosind funcția AVÂND. De exemplu, trebuie să stabilim prețul maxim al unui computer, grupat după modelele acestor computere, dar al cărui preț maxim este mai mic de 500.

SELECT model, MAX(preț) FROM tabel GROUP BY model HAVING MAX(preț)< 500

În acest caz, interogarea noastră ne va oferi calculatoare grupate pe modele, al căror preț maxim este mai mic de 500.

Notă! Puteți citi mai multe despre gruparea în SQL în acest articol.

Valoare NULL în SQL

În SQL, există o astfel de valoare ca NULL. De fapt, NULL este absența unei valori ( acestea. gol). Pentru a afișa toate liniile care conțin o astfel de valoare ( de exemplu, nu am atribuit încă un preț pentru un computer) putem folosi următoarea condiție.

SELECT * FROM tabelul unde prețul este NUL

Ceea ce va însemna căutarea tuturor rândurilor care nu conțin o valoare pentru câmpul preț.

Sintaxă simplificată a instrucțiunii SELECT

SELECTAȚI<Список полей>sau * , ...] , ...]

Nota! Dacă ești interesat de limbajul T-SQL, atunci recomand să citești cartea mea „The Way of the T-SQL Programmer”, în care vorbesc în detaliu, cu o mulțime de exemple, despre elementele de bază ale limbajului Transact-SQL. mai ales pentru incepatori.

Asta e tot pentru astăzi, am revizuit împreună cu tine o mică parte a limbajului SQL, și anume instrucțiunea SELECT. Noroc!