Upload
shanae
View
48
Download
0
Embed Size (px)
DESCRIPTION
SQL sakiniai. Lentelių jungimas (2). Lentelės sujungimas su savimi. Kategorijos_ID Pavadinimas Parent_ID. SELECT lentele .Pavadinimas AS `vaikas`, parent.Pavadinimas AS `tevas` FROM `lentele` LEFT JOIN `lentele` AS `parent` ON lentele.parent_ID = parent.kategorijos_ID. - PowerPoint PPT Presentation
Citation preview
Kategorijos_IDPavadinimasParent_ID
SELECT lentele.Pavadinimas AS `vaikas`, parent.Pavadinimas AS `tevas`FROM `lentele` LEFT JOIN `lentele` AS `parent` ON lentele.parent_ID = parent.kategorijos_ID
Analogiškas LEFT JOIN, tik dėmesys šiuo atveju skiriamas dešiniajai lentelei
`lentle A` LEFT JOIN `lentle B`=`lentle B` RIGHT JOIN `lentle A`
Veikia tarsi ir LEFT ir RIGHT JOIN kartu – lentelėje atsiranda visi įrašai tiek iš vienos, tiek iš kitos lentelės.
Darbuotojai Klientai
Asmens_kodasVardasPavardeTelefonas...
Asmens_kodasVardasPavardeTelefonas...
Bendras klientų ir darbuotojų vakarėlis, reikia sąrašo su telefonais.
SELECT * FROM `darbuotojai`UNIONSELECT * FROM `klientai`
Nuo UNION skiriasi tuo, kad jei įrašas kartojasi tiek vienoje, tiek kitoje lentelėje, isspausdins juos abu (pvz. asmuo – tiek darbuotojas, tiek klientas)
SELECT * FROM `darbuotojai`UNION ALLSELECT * FROM `klientai`
SELECT * FROM `orders`
| WHERE day_of_order =(SELECT MAX(day_of_order)
FROM orders)
Klientai Pašto kodai
ID Vardas Pavardė Pašto kodas
Pašto kodas Miestas/rajonas
Užduotis: Atrinkti visus klientus, kurių pašto kodai – Kauno mieste
SELECT * FROM `klientai` WHERE `Pasto_kodas` IN (SELECT `Pasto_kodas` FROM `pasto_kodai` WHERE `Miestas` = 'Kaunas' )
Atrinkti numerius užsakymų, kuriuose yra modeliukų iš ‘Ships’ serijos
SELECT DISTINCT `orderNumber` FROM `orderdetails` WHERE `productCode` IN (SELECT `productCode` FROM `products` WHERE `productLine`=‘Ships’)
[email protected] [email protected]
Parsisiųskite pavyzdinę duomenų bazę:◦ tiny.lt/sql1
Importuoti DB į savo MySQL serverį
Suformuoti užklausas duomenų išgavimui ‘classicmodels’ DB
Užklausas surašyti MS Word faile
Apmokėjimai, gauti paskutiniais duomenų bazėje saugomais metais
Darbuotojai, dirbantys biuruose esančiuose ‘USA’