operator de limbaj SQL. Limbajul de interogare structurat - SQL: istoric, standarde, operatori de bază de limbaj. BETWEEN – verificarea includerii într-un interval

Limbajul structurat interogări SQL pe baza calculului relaţional cu tupluri variabile. Limbajul SQL este conceput pentru a efectua operații pe tabele, crearea, ștergerea, modificarea structurii, iar pe datele tabelului, selectarea, modificarea, adăugarea și ștergerea, precum și unele operațiuni conexe. SQL este un limbaj non-procedural și nu conține instrucțiuni de control pentru organizarea rutinelor, intrare, ieșire etc.


Distribuiți-vă munca pe rețelele sociale

Dacă această lucrare nu vă convine, în partea de jos a paginii există o listă cu lucrări similare. De asemenea, puteți utiliza butonul de căutare


Limbajul de interogare structurat SQL: istoric, standarde,

Operatori lingvistici de bază.

Limbajul de interogare structurat SQL se bazează pe calcul relațional cu tupluri variabile. Limba are mai multe standarde. Limbajul SQL este conceput pentru a efectua operații pe tabele (crearea, ștergerea, modificarea structurii) și asupra datelor din tabel (selectarea, modificarea, adăugarea și ștergerea), precum și unele operații conexe. SQL este un limbaj non-procedural și nu conține instrucțiuni de control, organizare a subrutinei, I/Oși așa mai departe. În acest sens, SQL nu este utilizat în mod autonom; este de obicei scufundat în mediul limbajului de programare DBMS încorporat (de exemplu, FoxPro DBMS Visual FoxPro, ObjectPAL DBMS Paradox, Visual Basic pentru aplicații Acces DBMS).

În SGBD-urile moderne cu o interfață interactivă, puteți crea interogări folosind alte instrumente, cum ar fi QBE. Cu toate acestea, utilizarea SQL poate îmbunătăți adesea eficiența procesării datelor în baza de date. De exemplu, atunci când pregătiți o interogare în Access, puteți trece din fereastra Generator de interogări (formulând o interogare folosind un eșantion în limbajul QBE) la o fereastră cu instrucțiunea SQL echivalentă. În unele cazuri, pregătirea unei noi interogări prin editarea uneia existente este mai ușor de făcut prin schimbarea instrucțiunii SQL. Compoziția instrucțiunilor SQL poate diferi ușor în diferite SGBD. Limbajul SQL nu are funcțiile unui limbaj de dezvoltare cu drepturi depline, dar este axat pe accesul la date, deci este inclus în instrumentele de dezvoltare a programelor. În acest caz se numește SQL încorporat. Standardul limbajului SQL este susținut de implementări moderne ale următoarelor limbaje de programare: PL/1, Ada, C, COBOL, Fortran, MUMPS și Pascal.

În sistemele specializate de dezvoltare de aplicații de tip client-server, mediul de programare este, în plus, completat de obicei cu instrumente de comunicare (stabilirea și deconectarea conexiunilor cu serverele de baze de date, detectarea și procesarea erorilor apărute în rețea etc.), instrumente de dezvoltare interfețe cu utilizatorul, instrumente de proiectare și depanare. Există două metode principale de utilizare a SQL încorporat: static și dinamic. La utilizare statică limbaj (SQL static) în textul programului există apeluri la funcțiile limbajului SQL, care sunt incluse rigid în modulul executabil după compilare.

Modificările în funcțiile apelate pot fi la nivel parametrii individuali apeluri folosind variabile de limbaj programare. La utilizare dinamică se presupune limbajul (SQL dinamic). construcție dinamică apeluri la funcții SQL și interpretarea acestor apeluri, de exemplu, accesarea datelor dintr-o bază de date la distanță, în timpul execuției programului. Metoda dinamică este de obicei folosită în cazurile în care aplicația nu cunoaște în prealabil tipul de apel SQL și este construită în dialog cu utilizatorul. Scopul principal al limbajului SQL (precum și al altor limbaje pentru lucrul cu baze de date) este pregătirea și executarea interogărilor. Preluarea datelor dintr-unul sau mai multe tabele poate duce la un set de înregistrări numit vizualizare. O vizualizare este în esență un tabel care este generat ca rezultat al unei interogări. Putem spune că este un tip de interogare stocată. Puteți construi mai multe vederi folosind aceleași tabele. Vederea în sine este descrisă prin specificarea identificatorului vizualizării și a cererii care trebuie făcută pentru a o obține.

Pentru confortul lucrului cu vizualizări, conceptul de cursor a fost introdus în limbajul SQL. Un cursor este un fel de indicator folosit pentru a vă deplasa prin seturi de înregistrări în timpul procesării acestora. Descrierea și utilizarea unui cursor în SQL este după cum urmează. În partea descriptivă a programului, o variabilă de tip cursor (CURSOR) este asociată cu o instrucțiune SQL (de obicei o instrucțiune SELECT). În partea de execuție a programului, cursorul este deschis (OPEN<имя курсора>), deplasând cursorul prin înregistrări (FETCH<имя курсора>...), urmată de procesarea corespunzătoare și, în final, de închiderea cursorului (ÎNCHIS<имя курсора>).

Operatori de bază în limbaj

Să descriem un subset minim al limbajului SQL, pe baza implementării acestuia în interfața standard ODBC (Open Database Connectivity). Microsoft. Operatorii limbajului SQL pot fi împărțiți în două sublimbaje: Limbajul de definire a datelor (DDL) și Limbajul de manipulare a datelor (DML) Principalii operatori ai limbajului SQL sunt prezentați în tabel.

Să luăm în considerare formatul și capacitățile de bază ale celor mai importanți operatori, cu excepția operatorilor specifici marcați în tabel cu simbolul „*”. Vom omite operanzi și elemente de sintaxă neimportante (de exemplu, regula adoptată în multe sisteme de programare de a pune „;” la sfârșitul operatorului).

1. Operator crearea unui tabelare formatul:

CREAȚI TABEL<имя таблицы>

(<имя столбца> <тип данных>

[,<имя столбца> <тип данных> ]...)

Operanzii necesari ai operatorului sunt nume tabelul creatși numele a cel puțin unei coloane (câmp) care indică tipul de date stocate în această coloană.

La crearea unui tabel, pot fi specificate unele câmpuri reguli suplimentare controlul valorilor introduse în ele. Construcția NOT NULL servește tocmai acestui scop și, pentru o coloană de tabel, înseamnă că o valoare trebuie definită în acea coloană.

Instrucțiuni SQL

Vedere

Nume

Scop

CREAȚI TABEL

DROP TABLE

ALTER TABLE

CREAȚI INDEX

INDICE DE CĂDERARE

CREATE VIEW

DROP VIEW

MARE*

REVOCA*

crearea unui tabel

ștergerea unui tabel

schimbarea structurii mesei

crearea indexului

ștergerea unui index

crearea unei vederi

ștergerea unei vizualizări

atribuirea de privilegii

eliminarea privilegiilor

SELECTAȚI

ACTUALIZARE

INTRODUCE

ȘTERGE

probe de înregistrări

schimbarea înregistrărilor

introducerea de noi înregistrări

ștergerea intrărilor

ÎN caz general Diferite SGBD-uri pot utiliza diferite tipuri de date. Interfața ODBC acceptă propriile tipuri de date standard, de exemplu, cele cu caractere (SQL_CHAR, SQL_VARCHAR, SQL_LONGVARCHAR), etc. Când lucrați cu o bază de date a unui anumit DBMS prin interfața ODBC, conversia automată este efectuată tipuri standard date suportate de interfață la tipurile de date sursă și invers. Dacă este necesar, schimbul de date între program și sursa de date poate fi efectuat fără conversie în formatul de date intern al sursei.

Exemplul 1 . Crearea unui tabel.

Să presupunem că doriți să creați un tabel bunuri care să descrie mărfurile care să aibă următoarele câmpuri: tipul de produs, identificatorul comp_id al companiei producătoare, numele denumirea produsului și prețul prețului produsului. Declarația de definiție a tabelului poate avea următoarea vedere :

CREATE TABLE bunuri (tip SQL_CHAR(8) NOT NULL,

comp_id SQL_CHAR(10) NOT NULL, nume SQL_VARCHAR(20),

prețul SQL_DECIMAL(8,2)).

2. Operator se modifică structura tabeluluiare formatul:

ALTER TABLE<имя таблицы>

((ADĂUGAȚI, MODIFICAȚI, DROP)<имя столбца> [<тип данных>]

[,(ADĂUGAȚI, MODIFICAȚI, DROP)<имя столбца> [<тип данных>]]...)

Modificarea structurii unui tabel poate consta în adăugarea (ADD), modificarea (MODIFY) sau eliminarea (DROP) a uneia sau mai multor coloane de tabel. Regulile pentru scrierea instrucțiunii ALTER TABLE sunt aceleași ca și pentru instrucțiunea CREATE TABLE. Când ștergeți o coloană, indicați<тип данных>nu este nevoie.

3. Operator ștergerea unui tabelare formatul:

DROP TABLE<имя таблицы>

Operatorul vă permite să ștergeți un tabel existent. De exemplu, pentru a șterge un tabel numit itemi, este suficient să scrieți o instrucțiune de genul: DROP TABLE items.

4. Operator crearea unui indexare formatul:

CREAȚI INDEX< имя индекса >

PE< имя таблицы >

(<имя столбца>[ASC | DESC ]

[,<имя столбца>[ASC | DESC]...)

Operatorul vă permite să creați un index pe una sau mai multe coloane tabelul dat pentru a grăbi executarea operațiunilor de interogare și căutare cu tabelul. Puteți crea mai mulți indici pe un singur tabel. Prin specificarea opțiunii opționale UNIQUE, vă puteți asigura că valorile din toate coloanele specificate în declarație sunt unice. În esență, crearea unui index folosind atributul UNIQUE înseamnă definirea unei chei într-un tabel creat anterior. Când creați un index, puteți specifica ordinea sortare automată valorile în coloane în ordine crescătoare ASC (implicit), sau în ordine descrescătoare DESC. Pentru coloane diferite poate fi setat ordine diferită triere.

5. Operator ștergerea unui indexare formatul:

INDICE DE CĂDERARE<имя индекса>

Acest operator vă permite să ștergeți un index creat anterior cu numele corespunzător. Deci, de exemplu, pentru a distruge indexul main_indx din tabelul emp, este suficient să scrieți instrucțiunea DROP INDEX main_indx.

6. Operator crearea unei vederiare formatul:

CREATE VIEW<имя представления>

[(<имя столбца> [,<имя столбца> ]...)]

LA FEL DE<оператор SELECT>

Acest operator vă permite să creați o vizualizare. Dacă numele coloanelor nu sunt specificate în vizualizare, vor fi utilizate numele coloanelor din interogarea descrisă de instrucțiunea SELECT corespunzătoare.

7. Șterge operator reprezentarea are următorul format:

DROP VIEW<имя представления>

Operatorul vă permite să ștergeți o vizualizare creată anterior. Rețineți că atunci când ștergeți o vizualizare, tabelele care participă la interogare nu sunt șterse. Eliminarea unei reprezentări gerg se face cu un operator de forma: DROP VIEW repr.

8. Operator de selectare a înregistrărilor are formatul:

SELECTAȚI

< список данных >

DIN<список таблиц>

... ]

...]

Aceasta este cea mai importantă declarație dintre toate instrucțiunile SQL. Funcționalitate e urias. Să ne uităm la cele principale. Instrucțiunea SELECT vă permite să selectați și să efectuați calcule pe date din unul sau mai multe tabele. Rezultatul instrucțiunii este un tabel de răspunsuri, care poate avea sau nu rânduri duplicate (DIstinct). În mod implicit, toate rândurile, inclusiv cele duplicat, sunt incluse în tabelul de răspuns. Selectarea datelor implică înregistrări din unul sau mai multe tabele listate în lista operandului FROM. Lista de date poate conține numele coloanelor care participă la interogare, precum și expresii peste coloane. În cel mai simplu caz, expresiile pot conține nume de coloane, simboluri aritmetice (+, , *, /), constante și paranteze. Dacă o expresie este scrisă în lista de date, atunci odată cu selecția datelor, sunt efectuate calcule, ale căror rezultate se încadrează într-o nouă coloană (creată) a tabelului de răspuns. Când se utilizează nume de coloane ale mai multor tabele în listele de date, se utilizează o construcție a formularului pentru a indica faptul că o coloană aparține unui anumit tabel:<имя таблицы>.<имя столбца>.

Operandul WHERE specifică condițiile care trebuie îndeplinite de înregistrările din tabelul rezultat. Expresie<условие выборки>este boolean. Elementele sale pot fi nume de coloane, operații de comparare, operatii aritmetice, conective logice (ȘI, SAU, NU), paranteze, funcții speciale LIKE, NULL, IN etc. Operandul GROUP BY vă permite să selectați grupuri din setul de înregistrări rezultat.

9. Operator înregistrează modificăriare formatul:

ACTUALIZAȚI<имя таблицы>

A STABILIT<имя столбца> = {<выражение>, NUL )

[, A STABILIT<имя столбца> = {<выражение>, NUL)... ]

Executarea unei instrucțiuni UPDATE constă în modificarea valorilor din coloanele tabelului specificate de operandul SET pentru acele înregistrări care îndeplinesc condiția specificată de operandul WHERE. Noile valori de câmp din înregistrări pot fi goale (NULL) sau calculate conform unei expresii aritmetice. Reguli de scriere a aritmeticii și expresii logice similar cu regulile corespunzătoare instrucțiunea SELECT.

10. Operator introducerea de noi înregistrăriare două tipuri de formate:

INTRODU IN<имя таблицы>

[(<список столбцов>)]

VALORI (<список значений>)

INTRODU IN<имя таблицы>

[(<список столбцов>)]

<предложение SELECT>

În primul format, instrucțiunea INSERT are scopul de a introduce înregistrări noi cu valori dateîn coloane. Ordinea de listare a numelor coloanelor trebuie să se potrivească cu ordinea valorilor enumerate în lista operandului VALORI. Dacă<список столбцов>omis, apoi in<списке значений>Toate valorile trebuie listate în ordinea coloanelor structurii tabelului.În al doilea format, instrucțiunea INSERT este destinată să intreun tabel dat de rânduri noi selectate dintr-un alt tabel cufolosind clauza SELECT.

PAGINA 1

Alte lucrări similare care te-ar putea interesa.vshm>

16. Aflați elementele de bază ale limbajului de interogare structurat T-SQL 34,15 KB
Pentru a atinge acest obiectiv, este necesar să se rezolve următoarele sarcini: crearea de interogări pentru a selecta din mai multe tabele în limbaj SQL criterii date selecţie; creați o interogare de selecție în SQL care conține funcții de agregare statice; creați o interogare care combină rezultatele a două sau mai multe interogări într-un singur set de rezultate folosind comanda UNION. În urma finalizării lucrării, elevii ar trebui să cunoască: categorii de comenzi SQL; de bază Comenzi SQL folosit pentru a construi o interogare; principiile creării de interogări SQL...
6030. LIMBAJUL CA FENOMEN ÎN DEZVOLTARE. FACTORI EXTERNI ŞI INTERNI AI DEZVOLTĂRII LIMBAJULUI 17,38 KB
Problema originii limbajului presupune două întrebări. Prima întrebare este legată de problema originii limbajului în general, cum s-a dezvoltat limbajul uman, cum a învățat o persoană să vorbească a doua cu originea fiecărei limbi individuale. Nu există dovezi ale acestei perioade păstrate, prin urmare, atunci când studiază originea limbii în general, lingviştii trebuie să opereze nu numai cu fapte lingvistice, ci şi cu date din ştiinţele conexe. Interesul pentru problema originii limbajului a apărut cu mult timp în urmă.
10870. Conexiuni interdisciplinare ale cursului „Limba rusă profesională”. Transformarea și diferențierea limbii ruse profesionale 10,57 KB
Transformarea și diferențierea limbii ruse profesionale 1. Transformarea și diferențierea limbii ruse profesionale. Normele sintactice sunt determinate de structura limbajului și, ca și alte norme ortoepice, lexicale și morfologice, suferă modificări în procesul de dezvoltare a limbajului. La stăpânirea sintaxei unei limbi non-native, există o serie de dificultăți care apar la alegerea formelor de control și la coordonarea construcției propozițiilor, utilizarea participiilor, alegerea prepoziției potrivite și așa mai departe.
6929. Istoria limbii Delphi 13,01 KB
Delphi este orașul grec în care a locuit oracolul din Delphi. Delphi este o combinație de mai multe tehnologii critice: compilator de înaltă performanță în Codul mașinii Model orientat obiect al componentelor Construcție vizuală și, prin urmare, de mare viteză a aplicațiilor din prototipuri software Instrumente scalabile pentru construirea bazelor de date Compilatorul în codul mașinii Compilatorul încorporat în Delphi oferă performanta ridicata necesare pentru construirea de aplicații în arhitectură...
10869. Conceptele de „limbaj profesional”, „limbaj de specialitate”, diferențierea lor. Limba rusă profesională: originea sa, funcțiile, domeniul de funcționare (ținând cont de specificul specialității) 9,5 KB
Diferențierea limbajului. Fiecare specialitate economică pe lângă limba comuna comun tuturor economiștilor și are propriul său limbaj special și specializat. Aceste limbi profesionale sunt folosite oral și scris specialiștii predau studenților aceste limbi profesionale; astfel de limbi profesionale descriu sisteme de cunoștințe și abilități în referințe educaționale științifice și alte literaturi. În sistemul de limbaj economic există comune tuturor limbi profesionale Probleme.
1335. Modele de bază de formare a cuvintelor în engleza americană modernă 117,01 KB
Principalele diferențe dintre versiunile americane și britanice în limba engleză. Problema determinării statutului mondial al englezei americane. engleză americană în lumea modernă. Caracteristicile lexicale ale englezei americane.
1936. ISTORIE, STRUCTURA ȘI CONCEPTE DE BAZĂ ALE ECOLOGIEI 495,77 KB
Termenul „ecologie” este format din rădăcinile grecești „oikos” - casă, mediul imediat al unei persoane și „logos” - știință. Prin urmare, într-un sens literal, ecologia este știința organismelor, inclusiv a oamenilor, observată în limitele casei lor, cu o atenție deosebită acordată naturii relațiilor dintre organisme și mediul lor.
17746. Pedagogia artelor plastice: istorie și principalele tendințe de dezvoltare 25,96 KB
Sarcină munca de testare luați în considerare conceptul de creativitate artistică a copiilor, identificați cercetările de către profesori și psihologi remarcabili și istoria formării creativității artistice a copiilor. O manifestare a creativității artistice poate fi lucrări individuale - realizate independent sau sub îndrumarea unui adult, desene, modelaj, artă orală și scrisă, melodii, dramatizare, dans, precum și cânt coral, spectacole de teatru, arte și meșteșuguri, sculptură, teatru de păpuși, filme desenate și de ficțiune și...
6285. Declarații de control 103,51 KB
Operatori de buclă Operatorii de buclă sunt utilizați pentru a organiza calcule repetate. Pentru a organiza o buclă, aveți nevoie de o variabilă numită parametru de buclă sau o variabilă de control al buclei. Orice ciclu constă din: setările inițiale sau bloc de inițializare a parametrilor buclei; corpuri de buclă, adică acele instrucțiuni care sunt executate de mai multe ori; bloc de modificare a parametrilor ciclului; verificarea condiției de ieșire din buclă, care poate fi plasată fie înaintea corpului buclei, apoi se vorbește de o buclă cu o precondiție sau după corp...
2784. Declarații condiționale și de selecție 16 KB
Operatorul de condiție Dacă. Prin urmare, puteți deja să scrieți următorii operatori de atribuire: Koren:=Sqrtxy; Modul:=bsxy. Pentru a implementa astfel de salturi condiționate în limbajul Pascal, se folosesc operatorii If și Else, precum și operatorul de salt necondiționat Goto. Să ne uităm la declarația If.

Operatori SQL de bază.

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

Există 4 grupuri de operatori. Să luăm în considerare un grup de operatori de manipulare a datelor (Data Manipulation Language, DML, SQL DML)

Selectarea datelor

Selectarea datelor este cea mai frecventă operație efectuată folosind SQL. Instrucțiunea SELECT este una dintre cele mai multe operatori importanti această limbă folosită pentru selectarea datelor. Sintaxa acestui 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 tabelului, de exemplu:

Pentru a selecta o coloană, utilizați următoarea sintaxă:

SELECT Company

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

SELECT companie, telefon, e-mail

Pentru a specifica numele tabelelor din care sunt selectate înregistrările, utilizați cuvântul cheie FROM, de exemplu:

SELECTAȚI * FROM Clienți

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

Puteți folosi o clauză WHERE (opțională) pentru a filtra rezultatele returnate de o instrucțiune SELECT

SELECTAȚI * FROM Produse WHERE Categorie = 4

Puteți folosi diverse 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 cu

Clauza ORDER BY (opțională) este utilizată pentru a sorta setul de date rezultat după una sau mai multe coloane. Cuvintele cheie ASC (crescător) sau DESC (descendent) sunt folosite pentru a determina 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 rezolva unele dintre aceste probleme.

Declarație UPDATE

Pentru a modifica valorile într-una sau mai multe coloane ale unui tabel, utilizați instrucțiunea UPDATE. Sintaxa acestui operator este:

UPDATE tabelul SET column1 = expression1 WHERE criteriile

Expresia din clauza SET poate fi o constantă sau rezultatul unui calcul. De exemplu, pentru a crește prețurile 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, ar trebui să utilizați operatorul DELETE, a cărui sintaxă este:

DELETE FROM tabelul WHERE criteriile

Eliminați toate produsele care costă mai puțin de 100.

Sintaxa instrucțiunii SELECT este următoarea:

SELECTAȚI<список атрибутов>/* DIN<список таблиц>

Parantezele pătrate indică elemente care pot să nu fie prezente în cerere.

Listați toți studenții.

SELECTAȚI * FROM studenți

SELECT id_st, prenume FROM student

Rețineți că dacă adăugăm la aceasta cerere Clauza ORDER BY prenume, lista va fi ordonata dupa prenume. În mod implicit, se presupune că sortarea este în ordine crescătoare. Dacă se dorește o ordonare descrescătoare, se adaugă cuvântul DESC după numele atributului.

Afișează o listă de note pe care le-a primit un student cu codul „1”.

Oferiți o listă de coduri pentru studenții care au primit cel puțin un D sau C la examene.

În clauza WHERE, puteți scrie o expresie folosind operatori aritmetici comparații (<, >, etc.) și operatori logici (ȘI, SAU, NU) ca în limbajele de programare convenționale.

Alături de operatorii de comparaţie şi operatori logici pentru crearea condițiilor în limbajul SQL (datorită specificului zonei de aplicație), există o serie de operatori speciali, care, de regulă, nu au analogi în alte limbi. Aceștia sunt operatorii:

  • IN – intrarea într-un anumit set de valori;
  • INTRE – intrarea intr-un anumit interval de valori;
  • LIKE – test de potrivire a modelelor;
  • IS NULL – verificați pentru o valoare nedefinită.

Operatorul IN este utilizat pentru a verifica dacă o valoare este inclusă într-un set. Da, cerere

dă același rezultat ca și interogarea de mai sus (va afișa identificatorii tuturor solicitanților care au primit cel puțin un D sau C la examene).

Același rezultat poate fi obținut folosind operatorul BETWEEN:

Listați toți elevii ale căror nume de familie încep cu litera A.

În acest caz, este convenabil să utilizați operatorul LIKE.

Operatorul LIKE se aplică exclusiv câmpurilor de caractere și vă permite să determinați dacă valoarea unui câmp se potrivește cu un model. Modelul poate conține caractere speciale:

_ (subliniere) – înlocuiește orice caracter unic;

% (semnul procentual) – înlocuiește o secvență de orice număr de caractere.

Foarte des este necesar să se calculeze valorile minime, maxime sau medii în coloane. Deci, de exemplu, ar putea fi necesar să calculați GPA. Pentru a efectua astfel de calcule, SQL oferă special funcții agregate:

  • MIN – valoarea minimaîn coloană;
  • MAX – valoarea maximă în coloană;
  • SUM – suma valorilor din coloană;
  • AVG – valoarea medie în coloană;
  • COUNT – numărul de valori non-NULL din coloană.

Următoarea interogare calculează media tuturor punctajelor obținute de studenți la examene.

SELECTAȚI AVG(marca) FROM mark_st

Desigur, puteți folosi funcții agregateîmpreună cu clauza WHERE:

Această interogare va calcula scorul mediu al unui student cu un cod de 100 pe baza rezultatelor tuturor examenelor pe care le-a susținut.

Această interogare va calcula scorul mediu al studenților pe baza rezultatelor promovării examenului cu codul 10. Pe lângă mecanismele discutate

Baza limbajului SQL este alcătuită din operatori, împărțiți condiționat în mai multe grupe în funcție de funcțiile pe care le îndeplinesc. Puteți selecta următoarele grupuri operatori (nu toți sunt listați Instrucțiuni SQL):

instrucțiuni ddl (Data Definition Language).

Instrucțiuni DDL - instrucțiuni de definire a obiectului bazei de date

    CREATE SCHEMA - creați o schemă de bază de date

    DROP SHEMA - ștergeți o schemă de bază de date

    CREATE TABLE - creați un tabel

    ALTER TABLE - schimba tabelul

    DROP TABLE - ștergeți un tabel

    CREATE DOMAIN - creați un domeniu

    ALTER DOMAIN - schimba domeniul

    DROP DOMAIN - ștergeți un domeniu

    CREATE COLLATION - creați o secvență

    DROP COLLATION - ștergeți o secvență

    CREATE VIEW - creați o vizualizare

    DROP VIEW - ștergeți o vizualizare

instrucțiuni dml (Data Manipulation Language).

Instrucțiuni DML - instrucțiuni de manipulare a datelor

    SELECT - selectați rânduri din tabele

    INSERT - adăugați rânduri la tabel

    UPDATE - schimbă rândurile dintr-un tabel

    DELETE - șterge rândurile din tabel

    COMMIT - comite modificările efectuate

    ROLLBACK - derulează înapoi modificările efectuate

Operatorii de protecție și gestionare a datelor

    CREATE ASERTION - creați o constrângere

    DROP ASSERTION - eliminați o restricție

    GRANT - acordă privilegii unui utilizator sau unei aplicații pentru a manipula obiecte

    REVOKE - revocați privilegiile utilizatorului sau aplicației

În plus, există grupuri de operatori pentru setarea parametrilor de sesiune, obținerea de informații despre baza de date, operatori SQL statici și operatori SQL dinamici. Cele mai importante pentru utilizator sunt declarațiile de manipulare a datelor (DML).

Exemple de utilizare a operatorilor de manipulare a datelor

INSERT - inserarea de rânduri într-un tabel

Exemplul 1 . Inserarea unui rând într-un tabel:

VALORI(4, „Ivanov”);

Exemplul 2 . Inserarea într-un tabel a mai multor rânduri selectate dintr-un alt tabel (în tabelul TMP_TABLE sunt introduse date despre furnizori din tabelul P cu numere mai mari de 2):

TMP_TABLE (PNUM, PNAME)

SELECTAȚI PNUM, PNAME

UNDE P.PNUM>2;

UPDATE - actualizarea rândurilor dintr-un tabel

Exemplul 3 . Actualizarea mai multor rânduri dintr-un tabel:

SET PNAME = „Pușnikov”

UNDE P.PNUM = 1;

DELETE - ștergerea rândurilor dintr-un tabel

Exemplul 4 . Ștergerea mai multor rânduri dintr-un tabel:

UNDE P.PNUM = 1;

Exemplul 5 . Ștergerea tuturor rândurilor dintr-un tabel:

Exemple de utilizare a instrucțiunii SELECT

Instrucțiunea SELECT este de fapt cea mai critică pentru utilizator și cea mai complexă instrucțiune SQL. Este destinat pentru preluarea datelor din tabele, de ex. acesta, de fapt, implementează unul dintre scopurile principale ale bazei de date - de a oferi informații utilizatorului.

Instrucțiunea SELECT este întotdeauna executată pe unele dintre tabelele care fac parte din baza de date.

cometariu. De fapt, bazele de date pot conține nu numai tabele stocate permanent, ci și tabele temporare și așa-numitele vizualizări. Vizualizările sunt pur și simplu expresii SELECT stocate în baza de date. Din punctul de vedere al unui utilizator, o vedere este un tabel care nu este stocat permanent în baza de date, dar „apare” atunci când este accesat. Din punctul de vedere al instrucțiunii SELECT, atât tabelele persistente, cât și tabelele și vederile temporare arată exact la fel. Desigur, atunci când sistemul execută efectiv o instrucțiune SELECT, diferențele dintre tabelele și vizualizările stocate sunt luate în considerare, dar aceste diferențe ascuns de la utilizator.

Rezultatul unei instrucțiuni SELECT este întotdeauna un tabel. Astfel, rezultatele instrucțiunii SELECT sunt similare cu operatorii algebrei relaționale. Orice operator de algebră relațională poate fi exprimat într-un mod adecvat formulată prin instrucțiunea SELECT. Complexitatea instrucțiunii SELECT este determinată de faptul că conține toate capacitățile algebrei relaționale, precum și capacități suplimentare care nu sunt prezente în algebra relațională.

Instrucțiuni SQL de bază. Sintaxă și exemple de utilizare a instrucțiunii SELECT.

Baza limbajului SQL este alcătuită din operatori, împărțiți condiționat în mai multe grupe în funcție de funcțiile pe care le îndeplinesc.

Se pot distinge următoarele grupuri de operatori (nu sunt listați toți operatorii SQL):

Instrucțiuni DDL (Data Definition Language) - instrucțiuni pentru definirea obiectelor bazei de date

· CREATE SCHEMA - creați o schemă de bază de date

· DROP SHEMA - ștergeți o schemă de bază de date

· CREATE TABLE - creați un tabel

ALTER TABLE - schimba tabelul

· DROP TABLE - ștergeți un tabel

· CREATE DOMAIN - creați un domeniu

ALTER DOMAIN - schimba domeniul

· DROP DOMAIN - ștergeți un domeniu

· CREATE COLLATION - creați o secvență

· DROP COLLATION - ștergeți o secvență

· CREATE VIEW - creați o vizualizare

· DROP VIEW - ștergeți o vizualizare

Operatori DML (Data Manipulation Language) - operatori de manipulare a datelor

· SELECT - selectați rânduri din tabele

· INSERT - adaugă rânduri la tabel

· UPDATE - schimbă rândurile din tabel

· DELETE - șterge rânduri din tabel

· COMMIT - comite modificările făcute

· ROLLBACK - derulează înapoi modificările efectuate

Operatorii de protecție și gestionare a datelor

· CREATE ASERTION - creați o restricție

· DROP ASERTION - eliminați o restricție

· GRANT - acordă privilegii unui utilizator sau unei aplicații pentru a manipula obiecte

REVOKE - revocați privilegiile utilizatorului sau aplicației

În același timp, există grupuri de operatori pentru setarea parametrilor de sesiune, obținerea de informații despre baza de date, operatori SQL statici și operatori SQL dinamici.

Cele mai importante pentru utilizator sunt declarațiile de manipulare a datelor (DML).

Exemple de utilizare a operatorilor de manipulare a datelor

INSERT - inserarea de rânduri într-un tabel

Exemplul 1. Inserarea unui rând într-un tabel:

VALORI(4, „Ivanov”);

UPDATE - actualizarea rândurilor dintr-un tabel

Exemplul 3. Actualizarea mai multor rânduri dintr-un tabel:

SET PNAME = „Pușnikov”

UNDE P.PNUM = 1;

DELETE - ștergerea rândurilor dintr-un tabel

Exemplul 4. Ștergerea mai multor rânduri dintr-un tabel:

UNDE P.PNUM = 1;

Exemple de utilizare a instrucțiunii SELECT

Instrucțiunea SELECT este de fapt cea mai critică pentru utilizator și cea mai complexă instrucțiune SQL. Este conceput pentru a prelua date din tabele, ᴛ.ᴇ. acesta, de fapt, implementează unul dintre scopurile de bază ale bazei de date - de a oferi informații utilizatorului.

Instrucțiunea SELECT este întotdeauna executată pe unele dintre tabelele care fac parte din baza de date.

cometariu. De fapt, în bazele de date nu există doar tabele stocate permanent, ci și tabele temporare și așa-numitele vizualizări. Vizualizările sunt pur și simplu expresii SELECT stocate în baza de date. Din punctul de vedere al utilizatorului, o vedere este un tabel care nu este stocat permanent în baza de date, dar „apare” atunci când este accesat. Din punctul de vedere al instrucțiunii SELECT, atât tabelele persistente, cât și tabelele și vederile temporare arată exact la fel. Desigur, atunci când sistemul execută efectiv o instrucțiune SELECT, diferențele dintre tabelele și vizualizările stocate sunt luate în considerare, dar aceste diferențe ascuns de la utilizator.

Rezultatul unei instrucțiuni SELECT este întotdeauna un tabel. Cu toate acestea, pe baza rezultatelor acțiunilor sale, instrucțiunea SELECT este similară cu operatorii algebrei relaționale. Orice operator de algebră relațională trebuie exprimat printr-o instrucțiune SELECT formulată corespunzător. Complexitatea instrucțiunii SELECT este determinată de faptul că conține toate posibilitățile algebrei relaționale, precum și caracteristici suplimentare, care nu există în algebra relațională.

Ordinul de executare a declarației SELECT

Pentru a înțelege cum se obține rezultatul executării unei instrucțiuni SELECT, luați în considerare diagrama conceptuală a execuției acesteia. Această schemă este pur conceptuală, deoarece se garanteaza ca rezultatul va fi acelasi ca si cand ar fi executat pas cu pas conform acestei scheme. De fapt, rezultatul real este obținut prin algoritmi mai sofisticați pe care îi „deține” un anumit SGBD.

Etapa 1: Executarea unei singure instrucțiuni SELECT

Dacă operatorul conține cuvintele cheie UNION, EXCEPT și INTERSECT, interogarea este împărțită în mai multe interogări independente, fiecare dintre acestea fiind executată separat:

Pasul 1 (DE LA). Se calculează produsul cartezian direct al tuturor tabelelor specificate în secțiunea FROM obligatorie. Ca rezultat al pasului 1, obținem tabelul A.

Pasul 2 (UNDE). Dacă instrucțiunea SELECT conține o clauză WHERE, atunci se scanează tabelul A, obținut la pasul 1. În acest caz, pentru fiecare rând din tabelul A se calculează expresia condiționată dată în clauza WHERE. Doar acele rânduri pentru care expresia condiționată returnează TRUE sunt incluse în rezultat. Dacă secțiunea WHERE este omisă, treceți imediat la pasul 3. Dacă subinterogări imbricate sunt implicate în expresia condiționată, atunci ele sunt calculate în conformitate cu această schemă conceptuală. Ca rezultat al pasului 2, obținem tabelul B.

Pasul 3 (GROUP BY). Dacă instrucțiunea SELECT conține o secțiune GROUP BY, atunci rândurile tabelului B obținute în a doua etapă sunt grupate în conformitate cu lista de grupare dată în secțiunea GROUP BY. Dacă secțiunea GROUP BY este omisă, atunci treceți imediat la pasul 4. Ca rezultat al pasului 3, obținem tabelul C.

Pasul 4 (AVÂND). Dacă instrucțiunea SELECT conține o secțiune HAVING, atunci grupurile care nu satisfac expresia condiționată dată în secțiunea HAVING sunt excluse. Dacă secțiunea HAVING este omisă, treceți imediat la pasul 5. Ca rezultat al pasului 4, obținem tabelul D.

Pasul 5 (SELECT). Fiecare grup obținut la pasul 4 generează un rând de rezultat după cum urmează. Toate expresiile scalare specificate în secțiunea SELECT sunt evaluate. Conform regulilor de utilizare a clauzei GROUP BY, astfel de expresii scalare trebuie să fie aceleași pentru toate rândurile din fiecare grup. Pentru fiecare grup, se calculează valorile funcțiilor agregate date în secțiunea SELECT. Dacă nu există secțiunea GROUP BY, dar există funcții agregate în secțiunea SELECT, atunci se consideră că există un singur grup. Dacă nu există nici o clauză GROUP BY, nici funcții agregate, atunci se consideră că există atâtea grupuri câte rânduri sunt selectate pentru în acest moment. Ca urmare a pasului 5, obținem tabelul E, care conține atâtea coloane cât numărul de elemente enumerate în secțiunea SELECT și atâtea rânduri cât numărul de grupuri selectate.

Etapa 2. Efectuarea operațiunilor UNION, EXCEPT, INTERSECT

Dacă instrucțiunea SELECT conținea cuvintele cheie UNION, EXCEPT și INTERSECT, atunci tabelele obținute ca urmare a etapei 1 sunt comasate, scăzute sau intersectate.

Etapa 3. Ordonarea rezultatului

Dacă instrucțiunea SELECT conține o secțiune ORDER BY, atunci rândurile tabelului obținute în pașii anteriori sunt ordonate în conformitate cu lista de ordonare dată în secțiunea ORDER BY.

Instrucțiuni SQL de bază. Sintaxă și exemple de utilizare a instrucțiunii SELECT. - concept și tipuri. Clasificarea și caracteristicile categoriei "Operatori SQL de bază. Sintaxă și exemple de utilizare a operatorului SELECT." 2017, 2018.