Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Sql


Index » educatie » » informatica » Sql
Concatenarea coloanelor sau sirurilor de caractere cu alte coloane


Concatenarea coloanelor sau sirurilor de caractere cu alte coloane


Concatenarea coloanelor sau sirurilor de caractere cu alte coloane

Utilizarea operatorului de concatenare

SELECT ename || job AS "Employees"



FROM emp;

In acest exemplu: campurile ename si job vor fi concatenate si vor avea alias-ul "Employees". Cuvantul cheie AS este necesar in acest caz pentru a citi corect.

Utilizarea caracterului de concatenare in exemplul urmator:

SELECT ename || ' ' || 'is a' || ' ' || job

AS " Employee Details"

FROM emp;

Eliminarea randurilor duble poate fi facuta utilizand cuvantul cheie DISTINCT in clauza SELECT.

SELECT DISTINCT depno

FROM emp;

OBS: Pot fi specificate mai multe coloane dupa DISTINCT, in acest caz vor fi luate in considerare toate coloanele, adica vor fi evaluate toate informatiile din toate coloanele impreuna.

SELECT DISTINCT depno , job

FROM emp;

Restrictionarea randurilor returnate dintr-o tabela se poate face utilizand clauza WHERE in instructiunea SELECT.

SELECT [DISTINCT]

FROM tabela

[WHERE conditie

Afiseaza numele angajatului (ename), job-ul (job) si numarul departamentului (deptno), pentru toti angajatii din tabela EMP al caror nume de job este ANALIST.

SELECT ename, job, deptno

FROM emp;

WHERE job = 'ANALIST';

OBS: Sirurile de caractere si tipul data calendaristica trebuiesc incluse intre apostroafe. Formatul de data in Oracle implicit este: DD_MON_YY. Acest format se poate modifica.

Operatorii de comparatie sunt:

egal

> mai mare

< mai mic

>= mai mare egal

<= mai mic egal

<> diferit

Operatorii de comparatie pot fi utilizati in compararea unei expresii cu o alta expresie. Ei sunt utilizati in clauza WHERE in urmatorul format :

. WHERE expresie operator valorare

Exemple

. WHERE hiredate = '01-JAN-95'

. WHERE sal > 1500

. WHERE ename ='SMITH'

Alti operatori de comparatie sunt:

BETWEEN . AND . compara daca se gaseste intre doua valori, deci intr-un interval [min, max]

IN (list) cuprins in lista de valori.

LIKE daca se potriveste cu macheta.

IS NULL compara cu o valoare NULL

Afiseaza toti angajati care au salariul intre 1000 si 1500.

SELECT ename, sal

FROM emp

WHERE sal BETWEEN 1000 AND 1500;

Trebuie specificata mai intai limita inferioara apoi limita superioara.

Afiseaza angajati pentru care codul managerului (mgr) este una din valorile specificate in lista.

SELECT ename, sal, mgr

FROM emp;

WHERE mrg IN (7902 );

Utilizarea operatorului LIKE.

Conditia de cautare poate contine unul din caracterele:

% -inlocuieste 0 sau mai multe caractere

- -inlocuieste orice caracter, dar unul singur.

Afiseaza toate persoanele a caror nume incepe cu S.

SELECT ename, sal

FROM emp



WHERE ename LIKE '%S';

Afiseaza toate persoanele a caror data de angajare (hiredate) este intre ianuarie 1981 si decembrie 1981.

SELECT ename

FROM emp

WHERE hiredate LIKE '%81';

Afiseaza toti angajati a caror nume contine litera A al doilea caracter.

SELECT ename

FROM emp

WHERE ename LIKE '_A';

Afiseaza toti angajatii a caror nume contine 'A_B'.

SELECT ename

FROM emp

WHERE ename LIKE '%A_%B' Escape'';

Cand folosim ESCAPE , underscore este interpretat ca si caracter.

Utilizarea operatorului IS NULL

O valoare NULL nu este 0 sau spatiu. O valoare NULL este o valoare necunoscuta. Daca intr-o expresie vom avea o valoare NULL evaluarea expresiei va fi NULL.

Afiseaza toti angajatii care nu au comision (comm este NULL).

SELECT ename, job

FROM emp

WHERE comm IS NULL;

Operatorii logici sunt:

AND -returneaza TRUE cand ambele componente sunt TRUE.

OR    -returneaza TRUE cand cel putin una din componente este TRUE.

NOT -returneaza TRUE cand componenta este FALSE.

Afiseaza toti angajati care au job ='CLERK' si salariul >= 1100.

SELECT empno, ename, job, sal

FROM emp

WHERE sal >=1100 AND job = 'CLERK';

Afiseaza toti angajati care au job = 'CLERK' sau salairul >= 1100.

SELECT empno, ename, job, sal

FROM emp

WHERE sal >= 1100 OR job = 'CLERK';

Afiseaza toti angajatii din tabela EMP a caror job nu este CLERK, MANAGER sau ANALYST.

SELECT ename, job

FROM emp

WHERE job NOT IN ('CLERK', 'MANAGER', 'ANALYST');

Clauza ORDER BY permite afisarea randurilor intr-o ordine specifica. Trebuie plasata ultima clauza intr-o comanda SELECT. Clauza ORDER BY revine ultimei comenzi SELECT.

ASC - ascendent, care este ordinea implicita.

DES - descendent

Afiseaza angajati in ordine descrescatoare dupa data de angajare. (hiredate).

SELECT ename, job, deptno, hiredate

FROM emp

ORDER BY hiredate DESC;

Sortarea datelor dupa aliasul coloanei. Poate fi utilizat aliasul coloanei in clauza ORDER BY.

SELECT empno, ename, sal*12 salar_anual

FROM emp

ORDER BY salar_anual;

Putem sorta datele dupa mai multe coloane. Numarul maxim de coloane fiind cel pe care il are tabela. Putem specifica in clauza ORDER BY si coloane care nu apar in clauza SELECT.

Afiseaza datele din tabela EMP ordonate dupa numarul departamentului (deptno) ascendent si dupa salariu (sal) descendent.

SELECT ename, sal

FROM emp

ORDER BY deptno, sal DESC;

OBS: Campul deptno nu este specificat in SELECT, dar poate fi folosit in clauza ORDER BY.







Politica de confidentialitate





Copyright © 2023 - Toate drepturile rezervate