/ / Instrucțiune selectare (SQL)

Selectați instrucțiunea (SQL)

Traducerea abrevieției SQL în sine (limba structuralăinterogări organizate) reflectă faptul că interogările sunt elementul cel mai frecvent utilizat în SQL. Selectați rândurile necesare, eliminați automat datele redundante, săriți sau reordonați coloanele care vor ajuta Selectați (SQL) - un operator care conține o indicație a DBMS pentru a afișa anumite informații.

selectați sql

Sintaxa operatorului

Pentru a utiliza în mod corespunzător orice operator,trebuie să vă familiarizați mai întâi cu sintaxa limbajului de programare în cauză. Când vorbim în mod specific despre limbajul SQL, Select (operator) are următoarea sintaxă:

selecta

Spune baza de date că transmitem cererea. Acesta este cuvântul cheie.

Unu, doi, trei ...

Lista de coloane pentru ieșire

de la

Indică numele tabelului din care vor fi selectate datele. De asemenea, un cuvânt cheie necesar.

Aceasta este sintaxa așa-numită "scurtă", dar ne indică faptul că, fără Selectarea și din cuvinte cheie, DBMS nu va îndeplini cererea noastră.

Sintaxa completă a operatorului este prezentată în figura următoare:

selectați instrucțiunea sql

Aici clauza "Dacă" vă permite să perfecționați căutarea specificând o condiție.

Clauza de grup este utilizată pentru a grupa valorile și pentru a le aplica funcția agregată, și pentru a specifica rezultatul după grupare, se folosește clauza Use.

Ordinea vă permite să sortați valorile coloanelor selectate în ordine ascendentă sau descendentă.

Pentru a deveni mai familiarizați cu operatorul Select, să presupunem că avem în tabelul de mai jos tabelul următor. Pisici cu informații:

Eid

rasă

nume

zi de naștere

culoare

1

coadă tăiată

lord

01.04.2017

gri

2

Curl

fentă

16.03.2017

alb

3

Mau

panteră

30.03.2017

negru

4

coadă tăiată

Tyson

23.02.2017

gri

5

burmilla

Athena

08.01.2017

negru

Fiecare rând din tabel conține un număr unic.pisica, rasa, porecla, data nașterii și colorarea. Apoi, vom analiza modul în care funcționează instrucțiunea Select (SQL), bazându-se deja pe datele din acest tabel.

Cum se selectează datele din tabel

După cum sa discutat mai sus, cuvintele cheie sunt utilizate în mod necesar pentru a selecta informațiile necesare din tabel.

După selectarea cuvântului cheie, coloanele sunt afișate pentru ieșire. Puteți face o listă a coloanelor necesare separate prin virgule, atunci întreaga structură va arăta astfel:

Selectați culoarea, rasa, numele

De la pisici

După cum puteți vedea, putem aranja coloanele în ordinea în care avem nevoie de ele. În plus, putem afișa doar coloanele de care avem nevoie.

Există, de asemenea, o scurtă introducere pentru a vedea toate coloanele dintr-un tabel. Pentru a face acest lucru, după selectare, un asterisc (*) este indicat cu un spațiu. Întreaga structură va arăta astfel:

Selectați *

De la pisici

Rezultatul interogării de mai sus este întregul tabel Cats așa cum apare la sfârșitul ultimei secțiuni.

Mulți sunt interesați de cum să plasezerezultatele execuției în SQL Selectați într-un șir. Acest lucru este necesar cel mai adesea atunci când este necesar să combinați numele de familie, prenumele și patronimul unei persoane, plasate în coloane separate.

În cazul nostru, vom combina rasa și culoarea pisicilor dinmese Pisici. Nuanța este că diferitele SGBD folosesc caractere diferite pentru concatenarea șirurilor. În unele cazuri este doar un plus (+), în altele este o dublă bară oblică (||) sau un semn ampersand (&), uneori este folosit și operandul Concat. Prin urmare, înainte de îmbinare, trebuie să citiți adnotarea pentru SGBD-ul specific cu care lucrați.

Selectați rasa || ‘,’ || culoare

De la pisici

Rezultatul este următorul:

Rasă, Culoare

Bobtail, Gray

Bucle, Alb

Mau, Negru

Bobtail, Gray

Burmilla, Negru

Eliminați datele redundante

sql selectați limba

Distinct este o funcție Select (SQL) care vă permite să excludeți duplicarea rândurilor absolut identice din rezultatul selecției.

De exemplu, vrem să știm ce rase de pisici sunt în tabelul nostru. Dacă folosim o interogare simplă:

Selectați rasa

De la pisici

Apoi obținem rezultatul destul de așteptat:

rasă

coadă tăiată

Curl

Mau

coadă tăiată

burmilla

După cum puteți vedea, rasa bobtail este duplicată de două ori. Argumentul Distinct vă va permite să eliminați dublarea, trebuie doar să adăugați interogarea:

Selectați o rasă distinctă

De la pisici

Rafinați cererea

În realitate, aproape nicio interogare nu afișează date ca un set complet de rânduri de tabel. Luați în considerare ce clauză Select (SQL) vă va permite să specificați criterii pentru selectarea numai a rândurilor de care aveți nevoie.

Unde este o astfel de clauză.Această clauză folosește un predicat, o expresie condiționată care scoate fie adevărat, fie fals. Instrucțiunea Select va prelua date numai din tabelul pentru care expresia condiționată este evaluată la Adevărat sau Adevărat.

O selecție simplă vă va ajuta să înțelegeți această construcție. Să presupunem că vrem să știm totul despre pisicile negre.

Selectați *

De la pisici

Unde culoare = „Negru”

Această interogare va avea ca rezultat următoarele rânduri de tabel:

3

Mau

panteră

30.03.2017

negru

5

burmilla

Athena

08.01.2017

negru

De asemenea, puteți combina condiții folosind operatorii logici And, Or, Not.

Grupați după ofertă

Clauza Group by, folosită în Select (SQL), vă permite să grupați interogări după valoarea unei anumite coloane (sau coloane) și apoi să aplicați o funcție de agregare.

Funcțiile agregate includ:

  • Count - calculează numărul de rânduri selectate de interogare.
  • Suma este suma aritmetică a tuturor valorilor coloanelor selectate.
  • Min - Afișează valoarea minimă a valorilor coloanei selectate.
  • Max - respectiv, maximul valorilor coloanei selectate.
  • Media este media.

Schema de lucru a acestei propuneri este cea mai simplăînțelege cu un exemplu concret. Să presupunem că vrem să știm câți pisoi din fiecare rasă avem. Pentru a face acest lucru, trebuie să formați următoarea interogare simplă:

Selectați rasa, numărați (*)

De la pisici

Grupați după rasă

Rezultatul execuției va fi următorul tabel:

rasă

Numara

coadă tăiată

2

Curl

1

Mau

1

burmilla

1

După cum puteți vedea, avem doi pisoi bobtail,restul sunt doar unul câte unul. În practică, pentru o astfel de solicitare, pe baza tabelului nostru, crescătorul poate înțelege ce rase de pisici sunt solicitate în rândul cumpărătorilor și care nu.

Este probabil ca din cauza cantității uriașe deînregistrează în tabelul real, veți dori să rafinați și mai mult interogarea și să afișați numai acele rase de pisoi, dintre care nu mai există, de exemplu, zece. Clauza Having este folosită pentru a rafina sau filtra grupuri. Vă permite să eliminați anumite grupuri, similar clauzei Where, care elimină rânduri individuale. Condiția este stabilită de funcția de agregare. Să adăugăm cererea:

Selectați rasa, numărați (*)

De la pisici

Grupați după rasă

Având număr (*) <= 10

Din moment ce am stabilit condiția „numărul de pisoifiecare rasă nu este mai mare de 10 ", atunci rezultatul va fi același ca în exemplu fără specificații. Dar aici este important să înțelegem însăși structura clauzei Having. Dar dacă schimbăm condiția logică la Având număr (*) = 1, atunci rezultatul va fi redus la trei rânduri și va afișa rasele de pisoi, dintre care a mai rămas doar una.

Triere

Să aruncăm o privire la Order by, o clauză Select (SQL) care vă permite să sortați rândurile afișate în ordine crescătoare sau descrescătoare a valorilor într-una sau mai multe coloane.

selectați funcția sql

Este important să rețineți că Order by este clauza finală a întregii clauze Select. Este plasat după Selectare, De la, Unde, Grupare după, Având.

Există trei puncte importante atunci când sortați:

1) Puteți specifica orice număr de coloane, fiecare dintre acestea putând fi sortată individual fie crescător (ASC) fie descrescător (DESC).

2) Toate coloanele specificate în clauza Order by trebuie să fie prezente printre coloanele selectabile din Select.

3) Nu este necesar să enumerați anumite nume de coloane pentru sortare, puteți pur și simplu să specificați numerele lor sub care apar în instrucțiunea Select.

sql select to string

Sperăm că, cu ajutorul articolului nostru, ați dobândit cunoștințe de bază despre utilizarea interogărilor SQL și acum puteți selecta cu ușurință informațiile necesare din SGBD.