Kelių lentelių jungimas
Viena iš svarbiausių SELECT sakinio galimybių yra dviejų ar daugiau lentelių jungimas (angl. join).
Užklausa, jungianti 2 lenteles:
SELECT <stulpeliai> FROM <lentel1>, <lentel2>
WHERE <jungimo slyga> [AND <paieškos slyga>]
Daugelyje DBVS yra užtikrinamas lentelių jungimas SELECT sakinio fraze JOIN:
SELECT <stulpeliai>
FROM <lentelė1> JOIN <lentelė 2>
ON <jungimo sąlyga>
[WHERE <paieškos sąlyga>]
Pavardės vykdytojų, vykdančių projektą Nr. 1:
SELECT Pavardė
FROM Vykdytojai, Vykdymas
WHERE Vykdytojas = Nr AND Projektas = 1
Sąlyga Vykdytojas = Nr - loginis ryšys tarp dviejų lentelių.
Bendruoju atveju, jei užklausoje dviems lentelms nėra jokios sąlygos ir vienoje iš lentelių yra n eilučių, o kitoje - m eilučių, tai rezultatą sudarys m × n eilučių
Informacija apie tai, kokie vykdytojai kokius projektus vykdo ir kiek kiekvienam projektui skiria
valandų:
SELECT Pavardė, Pavadinimas, Valandos
FROM Vykdytojai, Projektai, Vykdymas
WHERE Projektas = Projektai.Nr AND
Vykdytojas = Vykdytojai.Nr
Stulpelio Nr patikslinimas lentelės vardu yra būtinas, nes dvi lentelės turi stulpelį vardu Nr.
Užklausa, jungianti 2 lenteles:
SELECT <stulpeliai> FROM <lentel1>, <lentel2>
WHERE <jungimo slyga> [AND <paieškos slyga>]
Daugelyje DBVS yra užtikrinamas lentelių jungimas SELECT sakinio fraze JOIN:
SELECT <stulpeliai>
FROM <lentelė1> JOIN <lentelė 2>
ON <jungimo sąlyga>
[WHERE <paieškos sąlyga>]
Struktrinės užklausos
Vienoje užklausoje gali būti ir kita užklausa, t.y. galimos struktūrinės užklausos – „Structured QL“.
Keli SELECT sakiniai yra griežtoje hierarchinėje priklausomybėje.
Pavardės vykdytojų, dalyvaujančių projekte Nr. 1:
SELECT Pavardė FROM Vykdytojai
WHERE Nr IN (SELECT Vykdytojas
FROM Vykdymas
WHERE Projektas = 1)
Viena iš svarbiausių SELECT sakinio galimybių yra dviejų ar daugiau lentelių jungimas (angl. join).
Užklausa, jungianti 2 lenteles:
SELECT <stulpeliai> FROM <lentel1>, <lentel2>
WHERE <jungimo slyga> [AND <paieškos slyga>]
Daugelyje DBVS yra užtikrinamas lentelių jungimas SELECT sakinio fraze JOIN:
SELECT <stulpeliai>
FROM <lentelė1> JOIN <lentelė 2>
ON <jungimo sąlyga>
[WHERE <paieškos sąlyga>]
Pavardės vykdytojų, vykdančių projektą Nr. 1:
SELECT Pavardė
FROM Vykdytojai, Vykdymas
WHERE Vykdytojas = Nr AND Projektas = 1
Sąlyga Vykdytojas = Nr - loginis ryšys tarp dviejų lentelių.
Bendruoju atveju, jei užklausoje dviems lentelms nėra jokios sąlygos ir vienoje iš lentelių yra n eilučių, o kitoje - m eilučių, tai rezultatą sudarys m × n eilučių
Informacija apie tai, kokie vykdytojai kokius projektus vykdo ir kiek kiekvienam projektui skiria
valandų:
SELECT Pavardė, Pavadinimas, Valandos
FROM Vykdytojai, Projektai, Vykdymas
WHERE Projektas = Projektai.Nr AND
Vykdytojas = Vykdytojai.Nr
Stulpelio Nr patikslinimas lentelės vardu yra būtinas, nes dvi lentelės turi stulpelį vardu Nr.
Užklausa, jungianti 2 lenteles:
SELECT <stulpeliai> FROM <lentel1>, <lentel2>
WHERE <jungimo slyga> [AND <paieškos slyga>]
Daugelyje DBVS yra užtikrinamas lentelių jungimas SELECT sakinio fraze JOIN:
SELECT <stulpeliai>
FROM <lentelė1> JOIN <lentelė 2>
ON <jungimo sąlyga>
[WHERE <paieškos sąlyga>]
Struktrinės užklausos
Vienoje užklausoje gali būti ir kita užklausa, t.y. galimos struktūrinės užklausos – „Structured QL“.
Keli SELECT sakiniai yra griežtoje hierarchinėje priklausomybėje.
Pavardės vykdytojų, dalyvaujančių projekte Nr. 1:
SELECT Pavardė FROM Vykdytojai
WHERE Nr IN (SELECT Vykdytojas
FROM Vykdymas
WHERE Projektas = 1)
Komentarų nėra:
Rašyti komentarą