![Page 1: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/1.jpg)
Limbajul SQL
jeudi 22 octobre 15
![Page 2: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/2.jpg)
2/ 21
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
jeudi 22 octobre 15
![Page 3: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/3.jpg)
Gestiunea tabelelor
CREATE TABLE Carti (lista coloane cu tipul asociat);
3/ 21 jeudi 22 octobre 15
![Page 4: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/4.jpg)
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 jeudi 22 octobre 15
![Page 5: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/5.jpg)
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 CartiWHERE Titlu=‘Amintiri din copilarie’;
3/ 21 jeudi 22 octobre 15
![Page 6: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/6.jpg)
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 CartiWHERE Titlu=‘Amintiri din copilarie’;
3/ 21
UPDATE CartiSET Titlu=”Amintiri din tinerete”WHERE Autor=”Creanga”
jeudi 22 octobre 15
![Page 7: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/7.jpg)
4/ 21
Proiectia
SELECT Nume, OrasFROM Persoana;
jeudi 22 octobre 15
![Page 8: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/8.jpg)
4/ 21
Proiectia
SELECT Nume, OrasFROM Persoana;
Nume OrasNestor ParisIrma LilleHenri ParisJosette LyonJacques Bordeaux
jeudi 22 octobre 15
![Page 9: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/9.jpg)
Proiectia (2)
5/ 21
SELECT *FROM Persoana;
SELECT Oras AS City FROM Persoana;
jeudi 22 octobre 15
![Page 10: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/10.jpg)
Proiectia (2)
5/ 21
SELECT *FROM Persoana;
Toata tabla
SELECT Oras AS City FROM Persoana;
jeudi 22 octobre 15
![Page 11: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/11.jpg)
Proiectia (2)
5/ 21
SELECT *FROM Persoana;
Toata tabla
SELECT Oras AS City FROM Persoana;
CityParisLilleParisLyon
Bordeaux
jeudi 22 octobre 15
![Page 12: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/12.jpg)
Proiectia - valori diferite
6/ 21
SELECT DISTINCT VilleFROM Persoana;
jeudi 22 octobre 15
![Page 13: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/13.jpg)
Proiectia - valori diferite
6/ 21
SELECT DISTINCT VilleFROM Persoana;
Ville
ParisLille
Lyon
Bordeaux
jeudi 22 octobre 15
![Page 14: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/14.jpg)
Operatii
7/ 21
+ Addition- Soustraction* Multiplication/ Division% Modulo
SELECT Pret, N_inventar, (Pret/4.31) AS Pret_EurosFROM Stoc;
jeudi 22 octobre 15
![Page 15: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/15.jpg)
Operatii statistice
8/ 21
COUNT
MAX
MIN
AVG
SUM
SELECT AVG(Pret) AS Pret_MediuFROM Carti;
SELECT COUNT(*) AS Numar_TotalFROM Stoc;
jeudi 22 octobre 15
![Page 16: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/16.jpg)
Selectia - operatori de comparare
9/ 21
=<><>
<=>=
SELECT *FROM VânzariWHERE Pret > 50000;
jeudi 22 octobre 15
![Page 17: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/17.jpg)
Alti operatori de comparare
10/ 21
BETWEEN <val1> AND <val2>In <liste_valeurs>
IS NULLLIKE
Modulo
SELECT *FROM TipografieWHERE Calitate IN (“mediu”, “superior”);
jeudi 22 octobre 15
![Page 18: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/18.jpg)
Conectori
ANDOR
NOT
SELECT *FROM CartiWHERE Titlu =‘Infern’ AND Pret <10;
jeudi 22 octobre 15
![Page 19: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/19.jpg)
Agregate (groupari)
SELECT MarcaFROM MasinaGROUP BY Marca;
jeudi 22 octobre 15
![Page 20: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/20.jpg)
Agregate (groupari)
SELECT MarcaFROM MasinaGROUP BY Marca;
Marca
Citroen
Opel
Peugeot
Renault
jeudi 22 octobre 15
![Page 21: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/21.jpg)
Alt exemplu
SELECT Marca, COUNT(*) AS ContFROM MasinaGROUP BY Marca;
jeudi 22 octobre 15
![Page 22: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/22.jpg)
Alt exemplu
SELECT Marca, COUNT(*) AS ContFROM MasinaGROUP BY Marca;
Marca Cont
Dacia 1
Opel 1
Peugeot 2
Dacia 2
jeudi 22 octobre 15
![Page 23: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/23.jpg)
Alt exercitiu
SELECT Oras, AVG(Varsta) AS Varsta_MedieFROM PersoanaGROUP BY Oras;
jeudi 22 octobre 15
![Page 24: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/24.jpg)
Restrictionarea rezultatului
15/ 21
SELECT Marca, COUNT(*) AS ContFROM MasinaGROUP BY MarcaHAVING Cont >1;
jeudi 22 octobre 15
![Page 25: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/25.jpg)
Restrictionarea rezultatului
15/ 21
SELECT Marca, COUNT(*) AS ContFROM MasinaGROUP BY MarcaHAVING Cont >1;
Marca Cont
Peugeot 2
Renault 2
jeudi 22 octobre 15
![Page 26: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/26.jpg)
Interogatii pe mai multe table
16/ 21
SELECT Carti.Pret, Stoc.CantitateWHERE Stoc.N_Inventar <= 400FROM Librarie;
jeudi 22 octobre 15
![Page 27: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/27.jpg)
Produs cartezian
SELECT *FROM Carti, Stoc;
nbr_coloane_rezultat = nbr_col_1 + nbr_col_2nbr_linii_rezultat = nbr_lin_1 * nbr_lin_2
jeudi 22 octobre 15
![Page 28: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/28.jpg)
Join (simplu)
SELECT Masina.Marca, Masina.Culoare, Vânzari.PretFROM Masina, VânzariWHERE Masina.Numar = Vânzari.Numar;
jeudi 22 octobre 15
![Page 29: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/29.jpg)
Join (simplu)
SELECT Masina.Marca, Masina.Culoare, Vânzari.PretFROM Masina, VânzariWHERE Masina.Numar = Vânzari.Numar;
Optimizare posibila
jeudi 22 octobre 15
![Page 30: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/30.jpg)
Join (simplu)
SELECT Masina.Marca, Masina.Culoare, Vânzari.PretFROM Masina, VânzariWHERE Masina.Numar = Vânzari.Numar;
SELECT Masina.Marca, Masina.Culoare, Vânzari.PretFROM Vânzari JOIN Masina.Numar = Vânzari.Numar;
Optimizare posibila
jeudi 22 octobre 15
![Page 31: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/31.jpg)
Join extern
SELECT Masina.Numar, Vânzari.Numar, Masina.Marca, Masina.Culoare, Vânzari.PretFROM Masina LEFT OUTER JOIN Vânzari ON Masina.Numar = Vânzari.Numar;
jeudi 22 octobre 15
![Page 32: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/32.jpg)
Trierea rezultatului
SELECT Pret, DateVânzareFROM VânzareORDER BY Pret DESC;
jeudi 22 octobre 15
![Page 33: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/33.jpg)
Trierea rezultatului
SELECT Pret, DateVânzareFROM VânzareORDER BY Pret DESC;
Pret DateVânzare70000 1996-03-3045000 2000-12-0330000 1998-12-0310000 1985-12-03
jeudi 22 octobre 15
![Page 34: Limbajul SQL - who.rocq.inria.fr · PDF fileWHERE Titlu=‘Amintiri din copilarie’; 3/ 21 jeudi 22 octobre 15. Gestiunea tabelelor CREATE TABLE Carti (lista coloane cu tipul asociat);](https://reader033.vdocuments.net/reader033/viewer/2022051721/5a80229d7f8b9aa24f8c35f2/html5/thumbnails/34.jpg)
21/ 21
jeudi 22 octobre 15