SQL sakiniai

Preview:

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’)

arunas@tiny.lt arunas@tiny.lt

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’

Recommended