Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


SELECTIE,PROIECTIE - Oracle

baze de date



+ Font mai mare | - Font mai mic



SELECTIE,PROIECTIE - Oracle

Fiecare din urmatoarele declaratii sunt valide:



SELECT * FROM EMP;

SELECT

*

FROM

EMP

;

SELECT *

FROM EMP;

In acest manual comenzile SQL sunt sparte in clauze pentru claritate.

Blocul de interogare de baza

Declaratia SELECT regaseste informatia din baza de date implementand toti operatorii din algebra relationala .

In cele mai simple forme trebuie sa contina:

  1. O clauza SELECT ,care listeaza coloanele pentru afisare astfel incat este esentiala o Proiectie.
  2. O clauza FROM care specifica tabela implicata.

Pentru a lista toate numerele departamentelor,numele angajatilor si

numarul managerilor in tabela EMP introduceti urmatoarele:

SELECT DEPTNO,ENAME,MGR

FROM EMP;

DEPTNO ENAME MGR

------ ---------- -----

20 SMITH 7902

30 ALLEN 7698

30 WARD 7698

20 JONES 7839

30 MARTIN 7698

30 BLAKE 7839

10 CLARK 7839

20 SCOTT 7566

10 KING

30 TURNER 7698

20 ADAMS 7788

30 JAMES 7698

20 FORD 7566

10 MILLER 7782

De remarcat ca numele coloanelor sunt separate prin spatiu.

Este posibil sa selectam toate coloanele din tabela prin specificarea

unui asterix ('*') dupa cuvantul SELECT .

SELECT *

FROM EMP;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

----- ------- ------- ---- --------- --------- ------- ------

7369 SMITH CLERK 7902 13-JUL-83 800.00 20

7499 ALLEN SALESMAN 7698 15-AUG-83 1,600.00 300.00 30

7521 WARD SALESMAN 7698 26-MAR-84 1,250.00 500.00 30

7566 JONES MANAGER 7839 31-OCT-83 2,975.00 20

7654 MARTIN SALESMAN 7698 05-DEC-83 1,250.00 1.400.00 30

7698 BLAKE MANAGER 7839 11-JUN-84 2,850.00 30

7782 CLARK MANAGER 7839 14-MAY-84 2,450.00 10

7788 SCOTT ANALYST 7566 05-MAR-84 3,000.00 20

7839 KING PRESIDENT 09-JUL-84 5,000.00 10

7844 TURNER SALESMAN 7698 04-JUN-84 1,500.00 .00 30

7876 ADAMS CLERK 7788 04-JUN-84 1,100.00 20

7900 JAMES CLERK 7698 23-JUL-84 950.00 30

7902 FORD ANALYST 7566 05-DEC-83 3,000.00 20

Clauza WHERE

Clauza WHERE corespunde operatorului 'Restrictie' din algebra relationala.

Contine o conditie pe care rindurile trebuie sa o indeplineasca in ordinea afisarii lor acest lucru se mai numeste selectie.

Clauza WHERE ,daca este folosita , trebuie sa urmeze clauzei FROM :

SELECT coloane

FROM tabela

WHERE anumite conditii sunt intilnite

Clauza WHERE poate compara valori in coloana ,valori literale,expresii aritmetice sau functii.

Clauza WHERE asteapta trei elemente:

  1. Un nume de coloana
  2. Un operator de comparatie
  3. Un nume de coloana, constanta sau lista de valori.

Operatorii de comparatie sunt utilizati in clauza WHERE si pot fi impartiti in doua categorii: logici si SQL.

Sirurile de caractere si datele calendaristice in clauza WHERE

Coloanele din ORACLE pot avea urmatoarele tipuri:caracter,numar sau data calendaristica.

Sirurile de caractere si datele calendaristice din clauza WHERE trebuie sa fie inchise in ghilimele simple('). Sirurile de caractere trebuie sa se supra- puna cu valoarea coloanei daca nu, trebuie modificate de o functie. Utilizati 'Functii pe Caractere' din capitolul 4.

Pentru a afisa numele,numerele,ocupatia si departamentele tuturor functionarilor, introduceti:

SELECT ENAME, EMPNO, JOB, DEPTNO

FROM EMP

WHERE JOB = 'CLERK';

ENAME EMPNO JOB DEPTNO

SMITH 7369 CLERK 20

ADAMS 7876 CLERK 20

JAMES 7900 CLERK 30

MILLER 7934 CLERK 10

Pentru a gasi toate numele de departamente cu numerele de departament mai mare ca 20 ,introduceti:

SELECT DNAME, DEPTNO

FROM DEPT

WHERE DEPTNO >20;

DNAME DEPTNO

---------- ------

SALES 30

OPERATIONS 40

Compararea unei coloane cu alta in cadrul aceluiasi rand

Puteti compara o coloana cu o alta coloana in acelasi rand,la fel ca si cu o valoare constanta.

De exemplu ,presupunem ca dorim sa obtinem acei angajati al caror comision esta mai mare decat salariul lor:

SELECT ENAME, SAL, COMM

FROM EMP

WHERE COMM> SAL;

ENAME SAL COMM

MARTIN 1,250.00 1,400.00



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1284
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved