Suport de curs:
- pentru orele de curs: manual
- pentru performanta scolara:
Baze de date si MySQL - Suport de curs
Simulator SQL: http://sqlfiddle.com/
Interogari MYSQL
Proprietatea SELECT poate fi utilizata intr-o comanda mysql_query pentru a alege anumite informatii din tabelul bazei de date.
Sintaxa pentru preluarea datelor din tabelul bazei de date este:
SELECT expresii si coloane FROM nume tabela
[WHERE conditie][ORDER BY lista coloane expresii] [ASC/DESC]]
[WHERE conditie][ORDER BY lista coloane expresii] [ASC/DESC]]
Exemple:
SELECT * FROM tabel; | afiseaza tot continutul tabelului |
SELECT camp1 FROM tabel; | afiseaza continutul campului 1 |
SELECT camp1, camp2 FROM tabel | afiseaza continutul campului 1 si campului 2 |
SELECT * FROM tabel WHERE camp1 = 'valoare1'; | afiseaza toate randurile din camp1 a caror valoare este "valoare1" |
SELECT camp1, camp2 FROM tabel WHERE camp2 LIKE 'valoare2'; | afiseaza continutul campului 1 si campului 2 acolo unde campul 2 este asemanator cu "valoare2" |
SELECT * FROM tabel WHERE camp2 LIKE 'valoare2%'; | afiseaza toate inregistrarile acolo unde campul 2 incepe cu "valoare2" |
SELECT * FROM tabel WHERE camp2 LIKE '%valoare2'; | afiseaza toate inregistrarile acolo unde campul 2 se termina cu "valoare2" |
SELECT * FROM tabel WHERE campul2 LIKE '%valoare2%'; | afiseaza toate inregistrarile acolo unde campul 2 se aseamana cu "valoare2" oriunde in text |
SELECT * FROM tabel WHERE camp1=valoare1 AND camp2 LIKE '%valoare2%'; | afiseaza inregistrarile acolo unde campul 1 este egal cu "valoare1" si campul 2 este asemanator cu "valoare2" |
SELECT camp1, camp2 FROM tabel WHERE camp1 != valoare3; | afiseaza camp 1 si camp 2 acolo unde camp 1 este diferit de "valoare3" |
SELECT * FROM tabel WHERE camp3 NOT LIKE 'valoarea3%'; | afiseaza toate inregistrarile acolo unde campul 3 nu incepe cu "valoare3" |
SELECT camp2 FROM tabel ORDER BY camp2 ASC; | afiseaza campul 2 in ordine crescatoare |
SELECT camp1, camp2 FROM tabel ORDER BY camp1 ASC, camp2 DESC; | afiseaza continutul campului 1 in ordine crescatoare si continutul campului 2 in ordine descrescatoare |
SELECT count(*) FROM tabel; | afiseaza cate inregistrari sunt in total in tabel |
SELECT count (*) FROM tabel WHERE camp1=valoare1; | afiseaza cate inregistrari sunt in tabel al caror camp 1 este "valoare1" |
SELECT SUM(coloana1) FROM tabel; | afiseaza suma elementelor din campul"coloana1" din tabelul "tabel" |
SELECT AVG(coloana1) FROM tabel; | afiseaza media aritmetica a elementelor din campul"coloana1" din tabelul "tabel" |
SELECT CONCAT(coloana1, coloana2) FROM TABEL; | afiseaza valorile coloanei 1 si coloanei 2 concatenate |
SELECT LENGTH(coloana1) FROM tabel; | afiseaza cate caractere contine fiecare valoare din coloana 1 |
SELECT MAX(camp1) FROM tabel; | afiseaza numarul cel mai mare din coloana "camp1" |
SELECT MIN(camp1) FROM tabel; | afiseaza numarul cel mai mic din coloana "camp1" |
SELECT * FROM tabel LIMIT 0,5; | afiseaza primele 6 inregistrari din tabel(0 = prima inregistrare, 1 = a doua etc) |
SELECT * FROM tabel LIMIT 6,4; | afiseaza incepand de la inregistrarea 6, inca 4 |
SARCINA DE LUCRU:
1. Fie relaţia (tabelul) Angajat cu următoarele atribute: NumeAngajat, PrenumeAngajat, DataNasterii, CNP, Adresă, DataAngajarii, Functie.
Executarea comenzii:
SELECT NumeAngajat, PrenumeAngajat, Funcţia
FROM Angajat
WHERE Salariu = 1000;
are drept rezultat?
2. Dată fiind relaţia Angajat cu atributele: Nume,
Prenume, Funcţie, Salariu. Comanda:
SELECT Nume, Prenume, Funcţia
FROM Angajat
ORDER BY Nume ASC;
Are drept rezultat listarea tuturor angajaţilor cu toate atributele existente
în relaţia Angajat ordonaţi alfabetic după nume.
Adevărat
|
Fals
|
3. Identificaţi
corespondenţele corecte care se pot stabili între elementele coloanei A şi cele
ale coloanei B.
Coloana
A
|
Coloana
B
|
|
|
Niciun comentariu:
Trimiteți un comentariu