1 / 15

SQL sakiniai

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.

shanae
Download Presentation

SQL sakiniai

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL sakiniai

  2. Lentelių jungimas (2)

  3. Lentelės sujungimas su savimi • 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

  4. RIGHT JOIN • 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`

  5. FULL JOIN • Veikia tarsi ir LEFT ir RIGHT JOIN kartu – lentelėje atsiranda visi įrašai tiek iš vienos, tiek iš kitos lentelės.

  6. Lentelių sąjungos

  7. UNION • Asmens_kodasVardasPavardeTelefonas... • Asmens_kodasVardasPavardeTelefonas... Darbuotojai Klientai

  8. UNION Bendras klientų ir darbuotojų vakarėlis, reikia sąrašo su telefonais. SELECT * FROM `darbuotojai`UNIONSELECT * FROM `klientai`

  9. UNION ALL 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`

  10. Subqueries – užklausa užklausoje

  11. Subqueries • SELECT * FROM `orders` | WHERE day_of_order =(SELECT MAX(day_of_order) FROM orders)

  12. Pavyzdys • 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' ) Klientai Pašto kodai

  13. Pavyzdys II • 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’)

  14. Praktinė užduotis

  15. Užduotis • 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’ arunas@tiny.lt arunas@tiny.lt

More Related