Limbajul SQL

Curs
8.5/10 (4 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 13 în total
Cuvinte : 4060
Mărime: 69.31KB (arhivat)
Cost: Gratis

Extras din document

Limbajul de manipulare a bazei de date (SQL-LMD)

Pasi de parcurs pentru crearea unei interogari SQL:

1. Din fereastra DATABASE se selecteaza QUERIES - DESIGN VIEW,

apoi din meniul QUERY- SQL Specific

2. Se selectează una din variantele:

UNION – pentru combinarea câmpurilor din mai multe tabele

PASS-THROUGH - trimite comenzile direct la un server SQL

DATA DEFINITION - creează, sterge, modifică un tabel

3. Se introduce interogarea SQL

4. Se salvează şi vizualizează.

5. Se lansează în execuţie.

I. Câteva aspecte recapitulative

Instrucţiuni pentru selectarea datelor - FRAZA SELECT

SELECT [ALL/DISTINCT/DISTINCTROW] listă atribute

FROM listă-tabele

[WHERE criteriu-de-căutare]

[GROUP BY criteriu-de-grupare]

[HAVING criteriu-de-grupare]

[ORDER BY criteriu-de-ordonare [ASC|DESC]];

Unde:

lista-atribute specifică atributele ale căror valori vor fi returnate;

FROM listă-tabele specifică tabelele din care se vor extrage datele;

WHERE permite prin precizarea unei expresii exprimarea criteriului de selecţie;

ORDER BY precizează atributul după care se va face ordonarea;

GROUP BY folosit pentru a partiţiona o tabelă în grupuri acordând acestora valori pe un atribut sau listă de atribute;

HAVING specifică criterii de selecţie pe grupuri de tupluri.

Exemple:

Toate rindurile tabelei Produse:

SELECT DISTINCTROW * FROM PRODUSE;

Numele şi preţul produselor având preţul mai mare de 10000:

SELECT DISTINCTROW [DEN PROD], PREŢ FROM PRODUSE WHERE PREŢ>10000;

În cazul în care doriţi să cunoaşteţi denumirea produselor cu preţuri între 19000 şi 110000 lei puteţi fie să introduceţi o expresie compusă în clauza WHERE, fie să utilizaţi operatorul between:

SELECT [DEN PROD] FROM PRODUSE WHERE PREŢ >=19000 AND PREŢ=<110000;

sau:

SELECT [DEN PROD] FROM PRODUSE WHERE PREŢ BETWEEN 19000 AND 110000;

În cazul în care doriţi să cunoaşteţi produsele ale căror preţuri sunt fie 110000, fie 150000, în clauza WHERE se va folosi operatorul IN:

SELECT [DEN PROD] FROM PRODUSE WHERE PREŢ IN (110000,150000);

Poate fi utilă solicitarea ordonării rindurilor după calitate şi preţ, pornind de la preţul cel mai mare din grupa de calitate respectivă:

SELECT DISTINCTROW * FROM PRODUSE ORDER BY CALITATE, PREŢ DESC;

În cazul în care se doreşte aflarea preţului maxim, minim şi mediu al produselor, blocul de cereri va utiliza funcţiile corespunzătoare:

SELECT DISTINCTROW MAX(PREŢ) AS [PREŢ MAX], MIN(PREŢ) AS [PREŢ MIN],

AVG(PREŢ) AS [PREŢ MEDIU]

FROM PRODUSE;

Prin clauza AS, în exemplul de mai sus, am putut modifica eticheta coloanelor ce returnează valoarea funcţiilor specificate.

Dacă doriţi să stabiliţi preţul maxim al produselor grupându-le pe calităţi utilizaţi în blocul de cerere clauza GROUP BY:

SELECT DISTINCTROW MAX(PREŢ) AS [PREŢ MAXIM], CALITATE

FROM PRODUSE

GROUP BY CALITATE;

De cele mai multe ori, însă, este necesar să extragem date stocate în mai multe tabele. Să presupunem că dorim să cunoaştem în ce cantităţi am livrat produse clienţilor şi care este valoarea facturată a fiecărui produs:

SELECT DISTINCTROW PRODFACT.[NR FACT], PRODUSE.[DEN PROD], PRODFACT.[CANT FACT], PRODUSE.PREŢ, PRODUSE.PREŢ*PRODFACT.[CANT FACT] AS VALOARE

FROM PRODUSE, PRODFACT

WHERE PRODUSE.[COD PRODUS]=PRODFACT.[COD PRODUS];

Observaţi în acest bloc de cerere utilizarea calificării atributelor (precedarea numelui lor de numele tabelei căreia îi aparţin) şi precizarea în clauza FROM a numelor celor două tabele sursă. Criteriul de compunere al celor două tabele este precizat în clauza WHERE.

Realizarea unor căutări mai complexe în baza de date presupune construirea unor subcereri în cadrul cererii iniţiale. Să presupunem că dorim să cunoaştem care sunt produsele cu preţul mai mare decât al merelor:

SELECT DISTINCTROW [DEN PROD], PREŢ

FROM PRODUSE

WHERE PREŢ > (SELECT PREŢ FROM PRODUSE WHERE [DEN PROD]=’MERE’);

Utilizarea predicatelor ALL, ANY, EXIST

Domeniul de obţinere a rezultatelor unei subinterogări poate fi influenţat prin precizarea unuia din cuvintele cheie: ALL, ANY şi respectiv EXIST.

- ALL

Se preiau rezultatele subinterogării şi, dacă acestea îndeplinesc condiţia cerută, se returnează valoarea logică True.

Exemplu :

Dacă dorim să cunoaştem numele produselor de calitatea întâi cu preţul mai mic decât al tuturor produselor de calitatea a 2-a cererea va avea următoarea formă:

SELECT [DEN PROD] FROM PRODUSE

WHERE CALITATEA=’1’AND PREŢ< ALL (SELECT PREŢ FROM PRODUSE WHERE CALITATEA=’2’);

- ANY

Are în vedere compararea valorii de ieşire a subinterogării cu fiecare înregistrare din interogarea externă. Dacă pentru fiecare înregistrare din interogare există un rezultat al subinterogării, se va returna valoarea logică True. Spre deosebire de clauza IN poate fi folosit cu diverşi operatori relaţionali. Cuvântul cheie SOME are acelaşi rol şi caracteristici ca ANY.

Preview document

Limbajul SQL - Pagina 1
Limbajul SQL - Pagina 2
Limbajul SQL - Pagina 3
Limbajul SQL - Pagina 4
Limbajul SQL - Pagina 5
Limbajul SQL - Pagina 6
Limbajul SQL - Pagina 7
Limbajul SQL - Pagina 8
Limbajul SQL - Pagina 9
Limbajul SQL - Pagina 10
Limbajul SQL - Pagina 11
Limbajul SQL - Pagina 12
Limbajul SQL - Pagina 13

Conținut arhivă zip

  • Limbajul SQL.doc

Alții au mai descărcat și

Calculatoare - Introducere, Componente - Structura si Functionare

ARGUMENT Lucrarea de fata prezinta principalele aspecte ale arhitecturii si organizarii calculatoarelor numerice. Materialul este organizat astfel...

Auditul Sistemelor Informatice

INTRODUCERE Societatea informationala determina o crestere dramatica a dependentei tuturor domeniilor vietii economico-sociale de tehnnologiile...

Auditarea Sistemelor Informatice

1.Având în vedere modificarile intervenite în economia româneasca si europeana agentii economici care folosesc în contabilitate si finante-banci...

Gestiunea unei Biblioteci în SQL 2005

In vederea realizarii acestui proiect am folosit SQL Server 2005. Baza de date pe care am lucrat se numeste biblioteca Aplicatia realizeaza o...

Proiect Java - Joc Carti - Macao

ENUNT: Folosind Java Swing, sa se proiecteze o aplicatie ce va simula un joc de carti (la alegere). Va fi disponibil un pachet de carti de joc,...

Baze de Date - Proiect în SQL

1. Descrierea bazei de date si a entitatilor Baza de date contine informatii despre produsele aflate intr-un depozit de aparate si accesorii de...

Proiectarea Bazei de Date la Nivel de Abstractie Fizica

1. Organizarea fizica. Sql server 2005 Tabelele " Tabelele si indecsii sunt continuti ca colectie de pagini de 8 KB. " Un tabel este împartit în...

Ai nevoie de altceva?