Formarea unei interogări în SQL

Formarea unei interogări în SQL

Cum este cererea de comunicare?

Comanda SELECT

În forma sa cea mai simplă, instrucțiunea SELECT instruiește baza de date pentru a căuta informații în tabel. De exemplu, puteți obține un tabel de agenții de vânzări, tastând următoarele:

Datele de ieșire pentru această interogare sunt prezentate mai jos.

Formarea unei interogări în SQL

Comanda afișează pur și simplu toate datele din tabel. Cele mai multe dintre programele, așa cum este indicat mai sus, de asemenea, afișează titlurile coloanelor. Unele programe permit o ieșire în format complet, dar este în afara specificațiilor standard. Ceea ce urmează este o explicație pentru fiecare parte a acestei comenzi:

Cuvinte cheie care spune baza de date care comanda este o interogare. Toate interogările încep cu această klyuchevogoslova, urmat de un spațiu.

Listă de coloane de masă, care urmează să fie prezentate într-un rezultat de interogare. Coloanele ale căror nume nu apar în listă nu sunt incluse în producția de comandă. Acest lucru, cu toate acestea, nu elimină tabelele de coloane sau informațiile conținute în acesta, deoarece solicitarea nu afectează informațiile furnizate în tabelele: se preia numai date.

DIN, precum SELECT, acesta este un cuvânt cheie care trebuie să fie prezente în fiecare cerere. Prinderea urmat de un spațiu, și apoi - numele tabelului care este utilizat ca sursă de informații pentru solicitarea. În acest exemplu, un tabel de agenții de vânzări.

Simbolul „virgulă“ (;) este utilizat în toate situațiile SQL interactive pentru baze de date mesaj, echipa formulată și gata de implementare. În unele sisteme, acest caracter se înlocuiește cu simbolul „slash-return“ ( „\“), într-un șir de caractere care urmează imediat după sfârșitul comenzii.

Este demn de remarcat faptul că, prin însăși natura sa, o cerere nu reglementează în mod necesar ieșirea în orice mod particular. Aceeași comandă este executată peste aceleași date la momente diferite, rezultând date ieșiri aranjate diferit. Liniile sunt emise, de regulă, în ordinea în care sunt prezentate în tabel, dar ordinea poate fi destul de arbitrare. Opțional, datele din rezultatul interogării vor fi prezentate în ordinea în care au intrat sau depozitate. Puteți sorta ieșire direct folosind SQL-comandă, specificând o ofertă specială. Mai târziu, se va explica cum se face. Acum, precizând doar absența oricărei ordine în prezentarea datelor de ieșire.

Folosind un retur de car (tasta Epter) este arbitrară. Puteți introduce o interogare într-o singură linie, după cum urmează:

Deoarece, în SQL și virgulă este folosit pentru a marca sfârșitul echipei, cele mai multe SQL-pporpamm foloseste tasta „Carriage Return“ (realizată prin apăsarea Return sau Enter), ca martor.

Alegerea ceva cel mai simplu mod

Dacă doriți să vedeți fiecare coloană a tabelului, există o versiune simplificată pentru a face acest lucru. Puteți utiliza caracterul „*“ ( „stea“), care înlocuiește lista de coloane.

Ieșirea acestei comenzi este aceeași ca și pentru discutat anterior.

SELECT, în general,

Rezumând argumentele anterioare, trebuie remarcat faptul că instrucțiunea SELECT începe cu cuvântul cheie SELECT, urmat de un spațiu. Acesta este urmat de o listă separată prin virgulă de nume de coloană care trebuie văzut. Dacă doriți să vedeți toate coloanele din tabel, aceasta poate fi înlocuită cu o listă de nume de coloane simbolul (*) (asterisc). Asteriscul urmat de cuvântul cheie din, urmat - de un spațiu și numele mesei la care este trimisă cererea. Cu punct și virgulă (;) ar trebui să fie utilizate pentru a completa cererea și pentru a arăta că echipa este gata pentru a efectua.

primește date de ieșire prezentate în figura de mai jos.

Formarea unei interogări în SQL

Există tabele care includ un număr mare de coloane care conțin date, dintre care nu toate sunt necesare la un anumit punct. Prin urmare, capacitatea de a selecta și a specifica coloanele de interes este foarte util.

Rearanjarea coloane

Coloana a tabelului, în scopul de a determina, dar aceasta nu înseamnă că acestea ar trebui să extragă în aceeași ordine. Un asterisc (*) va prelua coloanele în funcție de ordinea lor, dar dacă specificați coloanele separat, le linia în orice ordine doriți. În tabelul Comenzi definim un ordin de coloană: primul loc coloana „data comenzii (Odate), urmat de - coloana“ numărul de vânzător »(snum), apoi -“ Număr de comandă »(onum) și“ cantitate »(amt):

Datele de ieșire obținute pentru această interogare sunt prezentate mai jos.

Formarea unei interogări în SQL

Evident, structura tabelei de informații este pur și simplu o bază pentru SQL mijloacele sale de restructurare.

Eliminarea datelor redundante

DISTINCT - argument, care dă posibilitatea de a elimina valorile duplicate din rezultatul clauzei SELECT. Să presupunem că doriți să aflați care comercianții cu amănuntul au în prezent comenzi în tabelul de comenzi. Nu contează numărul de comenzi, fiecare dintre vanzatori au nevoie de doar o listă de camere vânzători (snum). Trebuie să introduceți:

pentru a obține rezultatul prezentat în figura de mai jos.

Formarea unei interogări în SQL

Pentru a obține o listă fără repetiții, care este mai ușor de citit, trebuie să introduceți următoarea comandă:

Datele de ieșire pentru această interogare sunt prezentate mai jos.

Formarea unei interogări în SQL

DISTINCT ține evidența care apar valori în lista de ieșire, și șterge din valorile duplicate. Acesta este un mod util de a elimina date redundante. Dacă nu, nu utilizați DISTINCT, deoarece se poate ascunde problema. Să presupunem că toate numele clienților sunt diferite. Dacă cineva intră în al doilea cumpărător cu numele Clemens în tabelul de clienți folosind CNAME DISTINCT SELECT, nu te pot ajuta, dar observa că există date duplicate. informații eronate despre Clemens vor fi obținute, la fel ca în acest caz, nu există nici o informație cu privire la redundanța datelor.

parametri distincți. DISTINCT poate fi setat numai o dată pentru clauza SELECT. Dacă SELECT extrage o multitudine de domenii, elimina liniile în care toate domeniile selectate sunt identice. Liniile în care unele valori sunt aceleași, iar altele - sunt diferite, sunt incluse în rezultatul. DISTINCT de fapt acționează pe toate linia de ieșire, mai degrabă decât pe un singur câmp (excepție este aplicarea în funcțiile agregate, vezi cap. 6), eliminând posibilitatea de recurență.

DISTINCT în comparație cu ALL. O alternativă la DISTINCT este tot. Acest cuvânt cheie are efectul opus: linii repetate incluse în datele de ieșire. Așa cum este adesea cazul în care nu sunt specificate nici DISTINCT sau ALL, ar urma; Acest cuvânt cheie are prioritate față de argumentul funcțional.

Cu stimă, Artem Sannikov

Partajați acest lucru cu prietenii tai!