SQL päringud mitmetest tabelitest

Allikas: Teadmusbaas

Seotud tabelite liitmise (JOIN) korraldustega (SQL keele petmine, et tegemist on ühe tabeliga) Tabelitega tehakse samu tehteid, mis hulkadega:

  • Konjunktsioon ehk seotus (“join” - liitmine,ühendamine). Liitmistehe on põhimõtteliselt otsekorrutis koos järgneva valikuga
  • Tabelite ühendamiseks on SQL-is kahte tüüpi korraldusi:
    • ORACLE spetsiifilised (Oracle andmebaasisüsteemides);
    • ISO/IEC 9075 (praegu kehtetu SQL 99) standardile vastavad.
  • Mitmest tabelist päringu sooritamiseks määratakse tabelite ühendamise tingimused WHERE klauslis
  • Üldpõhimõte on järgmine:

SELECT tabel1.veergA, tabel2.veergB FROM tabel1, tabel2 WHERE tabel1.veergX =tabel2.veergY;

  • Tabelinime kasutamine veerunimede ees aitab valida ka sama nimega veerge erinevatest tabelitest
  • Liitmistingimus on reeglina normaliseerimise tulemusena saadud suhe kahe tabeli vahel (ühe tabeli välisvõti on teise tabeli primaarvõti), vt näide allpool
  • SELECT d_play_list_items.event_id, d_play_list_items.song_id,d_track_listings.cd_number FROM d_play_list_items, d_track_listings WHERE d_play_list_items.song_id=d_track_listings.song_id

Hierarhilised päringud

ALLIKAD:

TAGASI