Cereri SQL

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Care comandă SQL este folosită exclusiv pentru interogarea datelor, atât a celor create de utilizatori, cât și a celor de sistem?

  • INSERT
  • DELETE
  • SELECT (correct)
  • UPDATE

Care este semnificația parametrului DISTINCT în cadrul comenzii SELECT?

  • Ordonează liniile returnate.
  • Returneazăliniile care îndeplinesc o anumită condiÈ›ie.
  • Returnează numai liniile distincte, eliminând duplicatele. (correct)
  • Returnează toate liniile simple È™i duplicate.

Ce reprezintă parametrul schema.table în sintaxa SQL?

  • Un alias pentru o tabelă.
  • Schema de identificare a tabelei, specificată prin user.table_name. (correct)
  • O funcÈ›ie aplicată asupra unei coloane.
  • O condiÈ›ie suplimentară pentru interogare.

Ce rol are clauza WHERE într-o interogare SQL?

<p>Filtrează liniile returnate pe baza unei condiții specificate. (A)</p> Signup and view all the answers

Care este rolul clauzei HAVING într-o interogare SQL?

<p>Restricționează liniile din grupuri, după aplicarea clauzei <code>GROUP BY</code>. (A)</p> Signup and view all the answers

Ce fac operatorii UNION, INTERSECT și MINUS în SQL?

<p>Combină rezultatele a două sau mai multe interogări <code>SELECT</code>. (D)</p> Signup and view all the answers

Cum se utilizează variabilele substituite în SQL?

<p>Pentru a introduce dinamic valori în interogări, la momentul execuției. (D)</p> Signup and view all the answers

Cum pot fi identificate variabilele substituite definite de utilizator în SQL*Plus?

<p>Prin utilizarea simbolului <code>&amp;</code> înaintea numelui variabilei. (B)</p> Signup and view all the answers

Ce comandă este folosită pentru a elimina o variabilă definită cu DEFINE?

<p>UNDEFINE (C)</p> Signup and view all the answers

Cum se poate schimba promtul pentru o variabilă substituită în SQL*Plus?

<p>Prin utilizarea comenzii <code>ACCEPT</code> și specificarea unui nou mesaj. (A)</p> Signup and view all the answers

Care este rolul comenzii CONNECT BY în sintaxa de parcurgere a arborilor din SQL?

<p>Stabilește o ierarhie de selecție a liniilor în sintaxa de parcurgere a arborilor. (D)</p> Signup and view all the answers

Care clauză este utilizată pentru a specifica nodul de început al unei interogări arborescente în SQL?

<p>START WITH (A)</p> Signup and view all the answers

În contextul parcurgerii arborilor în SQL, ce reprezintă frunzele arborelui?

<p>Angajații care nu au niciun subaltern. (D)</p> Signup and view all the answers

Care tabelă este analizată în document pentru a ilustra structura arborescentă a angajaților?

<p>EMP (A)</p> Signup and view all the answers

Cum interpretează baza de date o variabilă substituită definită cu dublu ampersand (&&)?

<p>O variabilă care este stocată în sesiune și poate fi apelată pe toată durata acesteia. (D)</p> Signup and view all the answers

Cum se accesează variabilele de sistem numerice în SQL*Plus?

<p>Prin utilizarea simbolului <code>&amp;</code> urmat de numărul variabilei (<code>&amp;1</code>, <code>&amp;2</code>, etc.). (A)</p> Signup and view all the answers

Ce condiție trebuie să îndeplinească un angajat SUBALTERN în raport cu șeful său ȘEF în tabela EMP, conform sintaxei de parcurgere a arborilor?

<p><code>SUBALTERN.MGR = ȘEF.EMPNO</code> (C)</p> Signup and view all the answers

Care este modalitatea corectă de a include o variabilă definită cu DEFINE într-un calcul matematic într-o comandă SQL?

<p>Utilizând simbolul <code>&amp;</code> înaintea variabilei: <code>salariu * &amp;variabila</code> (A)</p> Signup and view all the answers

Dacă dorim să creăm o tabelă nouă, angajati_10, care să conțină doar angajații dintr-un anumit departament și cu o anumită funcție, și folosim variabile substituite pentru a specifica aceste criterii, care ar fi sintaxa corectă?

<p><code>CREATE TABLE angajati_10 AS SELECT nume,functie, data_ang, salariu FROM angajati WHERE id_dep=&amp;depart and functie=&amp;job;</code> (B)</p> Signup and view all the answers

Cum am putea să modificăm o interogare SQL astfel încât, în loc să afișăm direct funcția angajatului, să afișăm funcția angajatului concatenată cu poziția sa în firmă, având la dispoziție variabilele substituite definite cu ACCEPT?

<p><code>SELECT nume, functie || ' - ' || &amp;pozitie FROM angajati;</code> (D)</p> Signup and view all the answers

Flashcards

Ce face DISTINCT în SELECT?

Returnează o singură linie dacă cererea returnează linii duplicate.

Ce returnează ALL în SELECT?

Returnează toate liniile, inclusiv simple și duplicate.

Ce reprezintă schema.table?

Identifică schema și tabela (sau view-ul) specificată prin user.table_name.

Ce este expr_alias?

Nume alocat unei expresii, folosit pentru formatarea coloanei în antetul listei.

Signup and view all the flashcards

Ce reprezintă dblink?

Numele complet sau parțial al unei baze de date (database.domain@connection_qualifier).

Signup and view all the flashcards

Ce rol are HAVING condition?

Restricționează liniile din grup la anumite condiții.

Signup and view all the flashcards

Ce face FOR UPDATE OF?

Face o blocare (lock) a liniilor pentru modificarea anumitor coloane.

Signup and view all the flashcards

Ce funcție are NOWAIT?

Returnează controlul userului dacă o comandă așteaptă eliberarea unei linii blocate.

Signup and view all the flashcards

Ce face SELECT * FROM tabela?

Returnează toate coloanele și înregistrările dintr-o tabelă.

Signup and view all the flashcards

Ce compară clauza WHERE?

Compară valori de coloană, valori literale, expresii aritmetice.

Signup and view all the flashcards

Ce este o variabilă ampersand (&)?

Parametru care se introduce de la tastatură în timpul execuției comenzii.

Signup and view all the flashcards

Ce e variabila dublu ampersand (&&)?

Variabilă care este stocată și poate fi apelată pe toată durata sesiunii.

Signup and view all the flashcards

Ce sunt variabilele de sistem (&n)?

Variabile definite numeric, predefinite de sistem, funcționează similar cu variabilele dublu ampersand.

Signup and view all the flashcards

Ce rol are comanda ACCEPT?

Redefinește promptul pentru variabilă și poate ascunde caracterele introduse.

Signup and view all the flashcards

Study Notes

Baze de Date - Curs Practic Nr. 2

  • Cursul practic nr. 2 acoperă cereri de interogare SQL, inclusiv interogări simple, utilizarea bazei de date a userului SCOTT, clauza WHERE, variabile substituite È™i sintaxa de parcurgere pe arbori.

Anunț Școala de Vară - Baze de Date

  • VLDB Summer School 2025 va avea loc în perioada 28-31 iulie 2025 la Universitatea din WrocÅ‚aw, Polonia.
  • Școala de vară VLDB 2025 se concentrează pe "Trustworthy Processing of Very Large Databases: Foundational Topics, Systems, Reliability & Security, Applications."
  • Scopul principal al VLDB Summer School este de a aduce împreună studenÈ›i aflaÈ›i în primele etape ale cercetării È™i experÈ›i internaÈ›ionali în sistemele de gestionare a bazelor de date, într-un eveniment de mai multe zile.
  • Școala de vară are rolul de a educa cu privire la subiecte de ultimă oră în procesarea de încredere a bazelor de date foarte mari, incluzând subiecte fundamentale, sisteme, fiabilitate È™i securitate, aplicaÈ›ii, dar È™i de a crea un eveniment de networking.

Cereri de Interogare - Comanda SELECT

  • Cererile de interogare SQL folosesc exclusiv comanda SELECT, utilizată pentru interogarea obiectelor create de utilizatori sau ale sistemului.
  • Sintaxa generală a comenzii SELECT include clauze optionale precum DISTINCT/ALL, FROM, WHERE, START WITH, CONNECT BY, UNION/INTERSECT/MINUS, GROUP BY, ORDER BY È™i FOR UPDATE.
  • DISTINCT returnează o singură linie dacă cererea are linii duplicate.
  • ALL returnează toate liniile, inclusiv cele simple È™i duplicate.
  • schema.table identifică tabela sau view-ul specificat prin user.table_name.
  • expresion reprezintă un nume de coloană sau o expresie, putând include funcÈ›ii sistem.
  • Dacă se foloseÈ™te * ca expresie, vor fi selectate toate coloanele din clauza FROM.
  • expr_alias este un nume alocat unei expresii pentru formatarea coloanei, apărând în antetul listei.
  • dblink este numele complet sau parÈ›ial de identificare a unei baze de date sub forma database.domain@connection_qualifier.
  • table_alias este un nume alocat unei tabele sau view, folosit în cereri corelate.
  • WHERE condition este o clauză ce specifică condiÈ›iile care trebuie îndeplinite pentru selecÈ›ia liniilor.
  • START WITH condition stabileÈ™te criteriul de selecÈ›ie pentru prima linie în sintaxa de parcurgere a arborilor.
  • CONNECT BY condition stabileÈ™te ierarhia de selecÈ›ie a liniilor în sintaxa de parcurgere a arborilor.
  • GROUP BY expresion grupează liniile după criteriile specificate, folosind numele coloanelor în criteriul de grupare.
  • HAVING condition restricÈ›ionează liniile dintr-un grup pe baza anumitor condiÈ›ii.
  • UNION,UNION ALL,INTERSECT,MINUS efectuează operaÈ›ii pe seturi de linii selectate de mai multe comenzi SELECT, aplicând restricÈ›ii.
  • ORDER BY expresion(position) ordonează liniile selectate după coloanele din expresie sau după poziÈ›ia coloanelor specificate.
  • FOR UPDATE OF blochează (lock) anumite linii pentru modificarea coloanelor.
  • NOWAIT returnează controlul utilizatorului dacă o comandă aÈ™teaptă eliberarea unei linii blocate de un alt utilizator.

Cereri Simple de Interogare

  • Pentru a returna toate coloanele È™i înregistrările dintr-o tabelă: SQL> SELECT * FROM angajati;.
  • Pentru a interoga anumite coloane ale unei tabele: SQL> SELECT id_dep, den_dep FROM departamente;.
  • Pentru a returna calcule pe anumite coloane È™i a atribui un alias: SQL> SELECT id_ang ecuson, nume, salariu*12+nvl(comision,0)*12 venit_anual FROM angajati;.
  • Pentru a concatena anumite coloane: SQL> SELECT id_ang||'-'||nume angajat , functie, data_ang FROM angajati;.
  • Pentru a adăuga coloane noi: SQL> SELECT id_ang||'-'||nume angajat, functie, salariu*12+nvl(comision,0) venit_lunar, ' ' semnatura FROM angajati;.

Baza de Date a Userului SCOTT

  • Baza de date a userului SCOTT va fi folosită pentru exerciÈ›iile practice.
  • Scripturile de instalare sunt disponibile în echipa Baze de Date a Facultății, cu versiuni în română.
  • Instalarea poate fi făcută local prin SQLPLUS (varianta recomandată) sau online prin SQL LIVE (necesită cont Oracle).
  • Sursele pentru reinstalarea bazei de date SCOTT trebuie menÈ›ionate.
  • Tabelele principale includ DEPT, EMP È™i SALGRADE.

Cereri cu Clauza WHERE

  • Clauza WHERE compară valori de coloane, valori literale sau expresii aritmetice.
  • Parametrii clauzei WHERE pot fi: nume de coloană, operator de comparaÈ›ie, operator de negaÈ›ie È™i liste de valori.

Exemple de Cereri cu Clauza WHERE

  • Pentru a lista toate persoanele angajate în 1980:
    SQL> SELECT EMPNO, ENAME, HIREDATE, JOB
    FROM EMP
    WHERE TO_CHAR(HIREDATE, 'YYYY') LIKE '1980';
    
  • Pentru a lista persoanele al căror nume începe cu litera F È™i au numele funcÈ›iei pe 7 caractere:
    SQL> SELECT id_ang ecuson, nume, functie, data_ang
    FROM angajati
    WHERE nume LIKE 'F%' and functie LIKE '_______';
    
  • Pentru a lista angajaÈ›ii din departamentul 20 care nu au primit comision:
    SQL> SELECT EMPNO ecuson, ENAME, JOB, SAL FROM EMP
    WHERE (COMM=0 OR COMM IS NULL) / Varianta: NVL(COMM, 0)=0
    AND DEPTNO=20
    ORDER BY ENAME;
    
  • Pentru a lista angajaÈ›ii care au primit comision È™i nu sunt directori:
    SQL> SELECT id_ang ecuson, nume, functie, salariu,comision
    FROM angajati
    WHERE (comision IS NOT NULL and comision0) / Varianta: NVL(COMM, 0)!=0
    and functie NOT LIKE 'DIRECTOR'
    ORDER BY nume;
    

Cereri cu Variabile Substituite

  • Cererile SQL pot folosi variabile substituite, parametri ce pot fi introduÈ™i la execuÈ›ie.
  • Variabilele ampersand (&nume_variabila) solicită introducerea de la tastatură la fiecare execuÈ›ie.
  • Exemplu: SQL> SELECT id_ang,nume,functie,salariu FROM angajati WHERE id_sef=&ecuson_sef;
  • Variabilele dublu ampersand (&&nume_variabila) sunt stocate È™i pot fi apelate pe durata sesiunii curente.
  • Exemplu: SELECT nume,functie,&&venit venit_lunar FROM angajati WHERE &venit>2000;
  • Comanda UNDEFINE resetează o variabilă cu dublu ampersand.
  • Variabilele de sistem (&n) sunt numerice (1-9), predefinite, funcÈ›ionând similar cu cele dublu ampersand, fiind apelabile direct dintr-un fiÈ™ier de comenzi.
  • Comanda @ urmată de calea către fisierul SQL execută comenzi dintr-un fiÈ™ier.
  • Comanda ACCEPT permite redefinirea promptului pentru o variabilă È™i ascunderea caracterelor introduse.
  • Exemplu folosind un fiÈ™ier:
    ACCEPT functie_sef CHAR PROMPT 'Introduceti functia sefului:';
    SELECT nume,salariu,comision FROM angajati
    WHERE functie='&functie_sef';
    UNDEFINE functie_sef
    
  • Variabilele definite cu DEFINE nu mai afiÈ™ează promptul È™i rămân setate până sunt resetate cu UNDEFINE. -Exemplu:DEFINE procent_prima = 1.15
  • Variabilele substituite pot fi folosite în operaÈ›ii DDL sau DML.
  • Exemplu: CREATE TABLE angajati_10 as SELECT nume,functie, data_ang, salariu FROM angajati WHERE id_dep=&depart and functie='&job';

Exemple de Exercitii cu Variabile Substituite

  • Pentru a lista angajaÈ›ii angajaÈ›i înainte de 1982 fără comision:
    SQL> SELECT * FROM angajati
    WHERE data_ang SELECT * FROM angajati
    WHERE salariu>3000 and id_sef is null
    ORDER BY id_dep,nume;
    
  • Pentru a lista numele, funcÈ›ia È™i venitul anual al angajaÈ›ilor care nu sunt directori pentru un departament introdus de la tastatură:
    SQL> SELECT nume, functie, salariu*12+nvl(comision,0)*12 venit_anual
    FROM angajati
    WHERE functie not like 'DIRECTOR' and id_dep=&nr_depart;
    

Sintaxa de Parcurgere pe Arbori

  • Comanda SQL SELECT de la Oracle include sintaxă specifică pentru parcurgerea arborilor.
  • Structura tabelei de angajaÈ›i (EMP) implementează o structură arborescentă a angajaÈ›ilor.
  • Arborele începe cu înregistrarea (nodul) care are valoarea NULL pe coloana MGR (KING).
  • Legătura dintre un angajat È™i È™eful său se face prin relaÈ›ia SUBALTERN.MGR=ȘEF.EMPNO.
  • Frunzele arborelui sunt angajaÈ›ii fără subalterni, adică EMPNO-ul lor nu apare pe coloana MGR a vreunui angajat.

Sintaxa de Parcurgere pe Arbori - Exemplu

  • Pentru a selecta toÈ›i angajaÈ›ii în ordine ierarhică, indicând numele, ID-ul, ID-ul departamentului, funcÈ›ia È™i nivelul ierarhic din firmă:
SELECT ENAME, EMPNO, DEPTNO, JOB, LEVEL
FROM EMP
CONNECT BY prior EMPNO=MGR
START WITH MGR IS NULL
ORDER BY LEVEL ASC;

Bibliografie

  • Florin Radulescu, Alexandru Boicea, Baze de date online, Editura Oamenilor de Stiinta din Romania, 2011
  • Alexandru Boicea, Baze de date – Note de curs practic, Universitatea Politehnica din Bucuresti
  • Alexandru Boicea, Oracle SQL, SQL*Plus, Editura Printech, 2007

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Cortex Cerebri Anatomy Quiz
12 questions
Features of the Falx Cerebri
20 questions

Features of the Falx Cerebri

TrustingProtactinium avatar
TrustingProtactinium
Cranial Meninges Anatomy
56 questions

Cranial Meninges Anatomy

HopefulWisdom8562 avatar
HopefulWisdom8562
Neurp tutores repaso
101 questions

Neurp tutores repaso

GainfulLesNabis3121 avatar
GainfulLesNabis3121
Use Quizgecko on...
Browser
Browser