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.

comandă

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
CAcompararea ș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) NULVerifică 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Ă.