Limbajul SQL
Principiile SQL O interogatie se termina prin ; Instructiunile sunt in majuscule (conventie) Numele câmpurilor sau a tabelelor - scriere exacta Numele nu pot depasi 128 caractere 2/ 21
Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat); 3/ 21
Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat); INSERT INTO Carti (Titlu, Autor, ISBN, PRET, N_inventar) VALUES ( Infern, Dante, 55525, 15, 100); 3/ 21
Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat); INSERT INTO Carti (Titlu, Autor, ISBN, PRET, N_inventar) VALUES ( Infern, Dante, 55525, 15, 100); DELETE FROM Carti WHERE Titlu= Amintiri din copilarie ; 3/ 21
Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat); INSERT INTO Carti (Titlu, Autor, ISBN, PRET, N_inventar) VALUES ( Infern, Dante, 55525, 15, 100); DELETE FROM Carti WHERE Titlu= Amintiri din copilarie ; UPDATE Carti SET Titlu= Amintiri din tinerete WHERE Autor= Creanga 3/ 21
Proiectia SELECT Nume, Oras FROM Persoana; 4/ 21
Proiectia SELECT Nume, Oras FROM Persoana; Nume Nestor Irma Henri Josette Jacques Oras Paris Lille Paris Lyon Bordeaux 4/ 21
SELECT * FROM Persoana; Proiectia (2) SELECT Oras AS City FROM Persoana; 5/ 21
Proiectia (2) SELECT * FROM Persoana; Toata tabla SELECT Oras AS City FROM Persoana; 5/ 21
Proiectia (2) SELECT * FROM Persoana; Toata tabla SELECT Oras AS City FROM Persoana; City Paris Lille Paris Lyon Bordeaux 5/ 21
Proiectia - valori diferite SELECT DISTINCT Ville FROM Persoana; 6/ 21
Proiectia - valori diferite SELECT DISTINCT Ville FROM Persoana; Ville Paris Lille Lyon Bordeaux 6/ 21
Operatii + Addition - Soustraction * Multiplication / Division % Modulo SELECT Pret, N_inventar, (Pret/4.31) AS Pret_Euros FROM Stoc; 7/ 21
Operatii statistice COUNT MAX MIN AVG SUM SELECT AVG(Pret) AS Pret_Mediu FROM Carti; SELECT COUNT(*) AS Numar_Total FROM Stoc; 8/ 21
Selectia - operatori de comparare = <> < > <= >= SELECT * FROM Vânzari WHERE Pret > 50000; 9/ 21
Alti operatori de comparare BETWEEN <val1> AND <val2> In <liste_valeurs> IS NULL LIKE Modulo SELECT * FROM Tipografie WHERE Calitate IN ( mediu, superior ); 10/ 21
Conectori AND OR NOT SELECT * FROM Carti WHERE Titlu = Infern AND Pret <10;
Agregate (groupari) SELECT Marca FROM Masina GROUP BY Marca;
Agregate (groupari) SELECT Marca FROM Masina GROUP BY Marca; Marca Citroen Opel Peugeot Renault
Alt exemplu SELECT Marca, COUNT(*) AS Cont FROM Masina GROUP BY Marca;
Alt exemplu SELECT Marca, COUNT(*) AS Cont FROM Masina GROUP BY Marca; Marca Cont Dacia 1 Opel 1 Peugeot 2 Dacia 2
Alt exercitiu SELECT Oras, AVG(Varsta) AS Varsta_Medie FROM Persoana GROUP BY Oras;
Restrictionarea rezultatului SELECT Marca, COUNT(*) AS Cont FROM Masina GROUP BY Marca HAVING Cont >1; 15/ 21
Restrictionarea rezultatului SELECT Marca, COUNT(*) AS Cont FROM Masina GROUP BY Marca HAVING Cont >1; Marca Cont Peugeot 2 Renault 2 15/ 21
Interogatii pe mai multe table SELECT Carti.Pret, Stoc.Cantitate WHERE Stoc.N_Inventar <= 400 FROM Librarie; 16/ 21
Produs cartezian SELECT * FROM Carti, Stoc; nbr_coloane_rezultat = nbr_col_1 + nbr_col_2 nbr_linii_rezultat = nbr_lin_1 * nbr_lin_2
Join (simplu) SELECT Masina.Marca, Masina.Culoare, Vânzari.Pret FROM Masina, Vânzari WHERE Masina.Numar = Vânzari.Numar;
Join (simplu) SELECT Masina.Marca, Masina.Culoare, Vânzari.Pret FROM Masina, Vânzari WHERE Masina.Numar = Vânzari.Numar; Optimizare posibila
Join (simplu) SELECT Masina.Marca, Masina.Culoare, Vânzari.Pret FROM Masina, Vânzari WHERE Masina.Numar = Vânzari.Numar; Optimizare posibila SELECT Masina.Marca, Masina.Culoare, Vânzari.Pret FROM Vânzari JOIN Masina.Numar = Vânzari.Numar;
Join extern SELECT Masina.Numar, Vânzari.Numar, Masina.Marca, Masina.Culoare, Vânzari.Pret FROM Masina LEFT OUTER JOIN Vânzari ON Masina.Numar = Vânzari.Numar;
Trierea rezultatului SELECT Pret, DateVânzare FROM Vânzare ORDER BY Pret DESC;
Trierea rezultatului SELECT Pret, DateVânzare FROM Vânzare ORDER BY Pret DESC; Pret DateVânzare 70000 1996-03-30 45000 2000-12-03 30000 1998-12-03 10000 1985-12-03
21/ 21