Professional Documents
Culture Documents
Ne kete leksion:
Databaza nen Oracle 1. Të kuptojmë se si të marrim të dhënat nga më shumë se një
tabelë.
Shfaqja e te dhenave nga disa tabela 2. Njohja me tipet e joineve dhe vecoritë.
Tipet e JOIN-eve 3. Përdorimi I shprehjeve SELECT për të aksesuar të dhënat
nga më shumë se një tabelë duke përdorur EQUIJOINS dhe
Operatorët e bashkësisë NONEQUIJOINS
4. Bashkimi I tabelave me vetveten duke përdorur SELF-JOIN
Leksion 8 5. Përdorimi I OUTER JOINS
6. Gjenerimi I një Produkti Kartezian nga të gjithë rreshtat nga
Silvana Greca dy ose më shumë tabela
Nje pjese e materialeve mare nga oracle.com
:
EMPLOYEES DEPARTMENTS
• Natural joins:
– NATURAL JOIN
– USING
… – ON
• Outer joins:
– LEFT OUTER JOIN
– RIGHT OUTER JOIN
– FULL OUTER JOIN
• Cross joins
…
1
NATURAL JOIN Shembull: Natural Join
Krijimi I Join duke përdorur shprehjen USING Join sipas emrit te kolonave
EMPLOYEES DEPARTMENTS
• Nqs disa kolona kanë të njëjtin emër por kanë tipe të
dhënash të ndryshme, mund të modifikojmë Natural Join
duke përdorur USING për të specifikuar kolonat që do të
përdoren për një Equijoin.
• USING e përdorim për të lidhur vetëm një kolonë kur më
shumë se një kolonë lidhet
• Nuk duhet të përdorim një emër tabele ose alias në kolonën
e specifikuar.
Primary key
• Natural Join dhe Using janë të dyja ekskluzive
…
Foreign key
UT-FSHN-INFORMATIKA-DATABAZA NEN ORACLE-SILVANA GRECA UT-FSHN-INFORMATIKA-DATABAZA NEN ORACLE-SILVANA GRECA
2
Join me shprehjen ON Shembull: shprehja ON
Perdorimi I Joins me 3 tabela me shprehjen ON Shembuj: Aplikimi I kushteve te tjera ne nje Join
Or
SELECT e.employee_id, e.last_name, e.department_id,
d.department_id, d.location_id
FROM employees e JOIN departments d
ON (e.department_id = d.department_id)
WHERE e.manager_id = 149 ;
…
UT-FSHN-INFORMATIKA-DATABAZA NEN ORACLE-SILVANA GRECA UT-FSHN-INFORMATIKA-DATABAZA NEN ORACLE-SILVANA GRECA
… …
3
Nonequijoins Shembull: Nonequijoins
…
UT-FSHN-INFORMATIKA-DATABAZA NEN ORACLE-SILVANA GRECA UT-FSHN-INFORMATIKA-DATABAZA NEN ORACLE-SILVANA GRECA
Nuk ka punonjes ne
departamentin 190.
…
…
4
FULL OUTER JOIN Produkti Kartezian
• Formohet kur:
SELECT e.last_name, d.department_id, d.department_name – Kushti join mungon
FROM employees e FULL OUTER JOIN departments d
ON (e.department_id = d.department_id) ;
– kushti join condition eshte invalid
– Te gjithe rekordet e tabeles se pare behen join me te gjithe
rekordet e tabeles se dyte
EMPLOYEES (20 rows) DEPARTMENTS (8 rows) • Shprehja CROSS JOIN ben produktin kartezian te 2 tabelave.
Produkti
kartezian:
20 x 8 = 160 rows
… …
Permbledhje
• Equijoins
• Nonequijoins
• Outer joins
• Self-joins Operatorët e bashkësisë
• Cross joins
• Natural joins
• Full outer joins
5
Objektiva Operatorët e bashkësisë
A B A B
Ne kete mesim:
• Operatoret e bashkesise UNION/UNION ALL
• Perdorimi I tyre
• Kontrolli I radhes se rreshtave A B
INTERSECT
A B
MINUS
6
Operatori UNION ALL Operatori INTERSECT
Kthen rekordet e përbashkëta nga dy ose më shumë query, të renditura
dhe duke fshirë dublikimet
SELECT employee_id, job_id, department_id A B
FROM employees
UNION ALL
SELECT employee_id, job_id, department_id
FROM job_history
ORDER BY employee_id;
…
UT-FSHN-INFORMATIKA-DATABAZA NEN ORACLE-SILVANA GRECA UT-FSHN-INFORMATIKA-DATABAZA NEN ORACLE-SILVANA GRECA
SELECT employee_id
FROM employees
MINUS
SELECT employee_id
FROM job_history; SELECT location_id, department_name "Department",
TO_CHAR(NULL) "Warehouse location"
FROM departments
UNION
SELECT location_id, TO_CHAR(NULL) "Department",
state_province
FROM locations;
…
7
shembull