Comandă SQL SELECT
SQL (Structured Query Language) este un limbaj de programare de generația a 4-a și Limba pentru configurarea, gestionarea și interogarea bazelor de date relaționale. A fost dezvoltat de IBM ca parte a unui proiect de cercetare și standardizat la nivel internațional în 1987. (Aproape) toate sistemele de baze de date funcționează cu acest limbaj.

Clasificarea funcțiilor SQL
Comenzile SQL sunt împărțite în trei clase:
DDL - Limbajul de definire a datelor
Comenzi pentru definirea tabelelor și a altor structuri de date
DCL - Limbajul de control al datelor
Comenzi pentru controlul drepturilor de acces
DML - Limbaj de manipulare a datelor
Comenzi de manipulare a datelor și de interogare a datelor
| Grozav | DDL | DCL | DML |
| Exemple | Generați baza de date CREAȚI BAZA DE DATE | Acordă drepturi de acces ACORDA | Tabel de interogare SELECTAȚI |
| Creați o masă CREAȚI TABEL | Revocați drepturile de acces REVOCA | Ștergeți rândul tabelului ȘTERGE | |
| Schimbați structura tabelului TABEL ALTER | Introduceți rândul tabelului INTRODUCE | ||
| Ștergeți tabelul MESAJ DE DROP | Schimbați datele din tabel ACTUALIZAȚI | ||
| Redenumiți tabelul RENUMIȚI | |||
| Creați o masă virtuală CREAȚI VIZUALIZARE |
Comanda DML SELECT
Interogarea SQL se efectuează cu comanda SELECT, specificând până la șase componente. Sintaxa generală are forma:
SELECTEAZĂ [TOATE | DISTINCT]
FROM table [alias] [table [alias]] .
[UNDE]
[Împărțiți GRUPUL ÎN [AȚI]]
[ORDER BY column [ASC | DESC]. ];
Sintaxa dificilă poate fi înțeleasă după cum urmează:
| clauză | Explicaţie |
| SELECTEAZĂ [DISTINCT] | Alege valorile din coloană (coloane) [înregistrări multiple o singură dată]. |
| DIN | . afară masa sau mesele . |
| UNDE | . in care condiția (condițiile) trebuie îndeplinite . |
| A SE GRUPA CU | . și grup ieșirea tuturor liniilor cu aceeași valoare de atribut pentru una singură . |
| AVÂND | . fiind în ea următoarele condiții suplimentare trebuie/trebuie să se aplice . |
| COMANDĂ DE [ASC/DESC] | . și sortați după coloane [crescător sau descendent]. |
Comenzile SQL au o lungime de până la 256 de caractere și trebuie terminate cu un punct și virgulă. Identificatorii de atribute care conțin spații sau semne de punctuație trebuie plasate între paranteze drepte.
Selecție în SQL
De la masă Student ar trebui selectate toate liniile care conțin numele "Mьller".
Selecția are forma: SName = 'Mьller' (student)
Conversia în SQL este: SELECT * FROM student WHERE Name = 'Mueller';
Prin urmare, clauza WHERE oferă selecția. Pentru a arăta că toate coloanele trebuie afișate în tabelul de ieșire, se utilizează un joker - simbolul procentual sau, în MS-ACCEES, simbolul stea -.
Acum vrei de la masă Student ar trebui selectate toate liniile care conțin numele "Mьller" și al căror prenume începe cu "O".
Selecția are următoarea formă: SName = 'Mьller' ȘI prenumele începe cu 'O' (student)
Implementarea în SQL este: SELECT * FROM elev WHERE name = 'Müller' AND prenome LIKE 'O%';
Condițiile pot fi utilizate cu ȘI, SAU și NU legătură. Simbolul stea este așa substituent pentru orice secvență de caractere. Dacă un singur caracter trebuie ascuns, semnul întrebării este folosit ca un wild card. CA este folosit în sensul „AȘA AS”.
| operator | Explicaţie |
| = => <> | compară o valoare de atribut cu alta sau o constantă Egalitate, mai mică decât, mai mică sau egală cu, mai mare sau egală cu, mai mare decât, inegalitate |
| ÎNTRE. ȘI . | compară dacă valoarea atributului se află între două limite |
| IN (...) | compară dacă valoarea atributului este un element al setului |
| CA | compararea șirurilor folosind operatori de similitudine cu o distincție între majuscule și minuscule: %: Substituent pentru orice caracter (în MS Access: *) _: Substituent pentru un personaj (în MS-Access:?) |
| ESTE (NU) NUL | Verifică dacă o valoare a atributului este (nu) nedefinită |
Proiecție în SQL
De la masă Student ar trebui proiectate toate coloanele cu atributul „Nume”.
Proiecția are forma: PName (student)
Implementarea în SQL este: SELECT Name FROM student;
Spre deosebire de proiecția conform algebrei relaționale, SQL arată toate intrările multiple. Pentru a preveni acest lucru, atributul DISTINCT trebuie adăugat la comanda SELECT.
Implementarea în SQL este: SELECT DISTINCT Nume DIN student;
Prin urmare, clauza SELECT oferă proiecția.
Executarea proiecției și selecției unul după altul
De la masă Student trebuie afișate prenumele tuturor studenților al căror nume de familie este Müller.
Interogarea are forma: PVorname (SName = 'Mьller' (student))
Implementarea în SQL este: SELECTAȚI prenumele DE la elev WHERE nume = 'Müller';
Comanda SQL este întotdeauna procesată din interior spre exterior, adică H. mai întâi selecția, apoi proiecția.
Alăturați-vă în SQL
Ar trebui creat un tabel din tabelele pentru studenți și cursuri. Atributul comun este SNr.
Implementarea în SQL este:
SELECTAȚI *
DE LA studenți INTERIOR ÎNREGISTRARE cursuri PE studenți.no = cursuri.no
COMANDA PRIN cursuri. Lecții ratate DESC;
Rezultatul este un INTERIOR ÎNREGISTRARE, Tabelul rezultat este sortat în ordine descrescătoare în funcție de orele absente. Un astfel de rezultat este i. d. De obicei nu se dorește. Adesea, doar câteva coloane din compozit sunt suficiente - ÎNREGISTRARE NATURALĂ.