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 - structură și funcționare

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...

Proiect Java - joc cărti - 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...

Evidența unui service de mașini - proiectarea bazelor de date

Să se creeze o bază de date care să ţină evidenţ a unui service de maşini. Service-ul poate repara mai multe tipuri de maşini, ale unui anumit...

Tablou de Structuri

Tema: Emplementarea tipului abstract de date.Tablouri de structuri in C. Scopul lucrarii: Prelucrarea si utilizarea tipului abstract de date....

Probleme Rezolvate Oracle

I. SISTEME DE GESTIUNE A BAZELOR DE DATE 1. Facultăţi Se dă următoarea structură de fişier: Denumire C,20 (Denumirea facultăţii) Localitate...

Te-ar putea interesa și

Subsistem Informatic privind Evidența Tranzacțiilor Rutiere la Firma de Transport

Introducere Progresul tehnico-economic la etapa actuală cuprinde o sferă din ce în ce mai largă a activităţii umane, influienţînd deci şi modul în...

Elaborare unui web-site și a unui program de administrare, utilizând PHP, Delphi, Mysql

INTRODUCERE Tehnologiile şi aplicaţiile de pe Internet se extind extraordinar de rapid, capătând o atenţie deosebită, deoarece Internetul...

Evidența Elevilor din Ciclul Inferior

Argumentare Într-o unitate şcolară este foarte importantă existenţa unei baze de date, nu numai a profesorilor, ci şi a elevilor. O bază de date...

Aplicație web pentru cumpărarea și rezervarea de bilete online-bilete de cinema

INTRODUCERE După cum se poate vedea şi în titlul lucrării eu am ales să realizez o aplicaţie web pentru rezervarea şi cumpărarea de bilete de...

Monitorizarea activității unei firme de transport

Introducere Progresul tehnico-economic în etapa zilelor noastre, cuprinde o paletă din ce în ce mai mare a activităţii oamenilor, în concluzie...

Elaborarea și implementarea sistemului informațional registratorul al camerei înregistrării de stat al Republicii Moldova

Introducere În era pe care o trăim, era tehnologiilor informaţionale, informaţia este o componentă esenţială în desfăşurarea oricărei activităţi....

Proiect Microsoft Acces - dicționar

Introducere Scopul principal al acestui proiect il constituie introducerea in lucrul cu baze de date in limbajul Microsoft Access. Obiectul...

Extragerea Adreselor URL din Pagini Web cu Ajutorul Expresiilor Regulate în SGBD-ORACLE

INTRODUCERE Oracle este cel mai răspîndit Sistem de Gestiune a Bazelor de Date Relaţionale (Relaţional Database Management System - RDBMS) din...

Ai nevoie de altceva?