|
SQL /
Spojení tabulek< Poøadí øádkù | SQL postupnì | Vnìj¹í spojení >
Pro zadání pøíkazu databázovému systému by to je¹tì nebylo dostateèné. Musíme urèit, jak se ta propojení mají udìlat. V SQL se propojení specifikují podmínkami propojení, tj. jaký vzájemný vztah musí platit, aby záznamy byly propojeny. Nejèastìj¹í pøípad je, ¾e má jít o shodu mezi hodnotou ve sloupci (èi sloupcích) prvního záznamu a hodnotou ve sloupci (èi sloupcích) druhé tabulky. Tak napøíklad v na¹em pøípadì propojení zákazníkových objednávek k zákazníkovi se jedná o shodu mezi hodnotou v poli LOG tabulky ZAK a hodnotou v poli ZAK tabulky OBJ. Pøíslu¹ná podmínka má formu (LOG=ZAK). V pøípadì, ¾e pole, která se mají porovnávat, se jmenují stejnì, jako napøíklad CISO v tabulce OBJ a CISO v tabulce POLOZ, lze v SQL pøíslu¹nou podmínku formulovat zkrácenì. Pou¾ije se jiné klíèové slovo, USING. Dohromady vypadá klauzule FROM pro ná¹ pøíklad takto:from ZAK join OBJ on(LOG=ZAK) join POLOZ using (CISO) join ZBOZ using (KOD) Dobøe lze podobu této èásti pøíkazu vyèíst ze schématu, kdy¾ jdeme "cestou" od poèáteèní tabulky ke koneèné. (Kterou zvolíme za poèáteèní a kterou za koneènou, je jedno.) ©ipky pøedstavující vazby cizích klíèù nám slou¾í jako nápovìda, proto¾e propojují pole, která se mají porovnávat. Nakonec celý pøíkaz vypadá takto: Pøíklad: Pro zákazníky, kteøí nìkdy nakoupili, vypi¹te login, jméno, pøíjmení a rùzné názvy zbo¾í, které kdy nakoupili.
Pøíklad: Pro zákazníky, kteøí nìkdy nakoupili, vypi¹te pouze login a rùzné názvy zbo¾í, které kdy nakoupili.
Pøíklad: Pro zákazníky, kteøí nìkdy nakoupili, vypi¹te login, èíslo objednávky a datum objednávky. Øaïte podle zákazníkù a data.
Pøíklad: Pro kategorie, ve kterých máme nìjaké zbo¾í, vypi¹te názvy zbo¾í v této kategorii.
< Poøadí øádkù | SQL postupnì | Vnìj¹í spojení > Obsah: |