![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Mam takie pytanie. Właśnie kupiłem sobie książkę o SQL'u i czytam o złączeniach.
Skorzystam z tabeli tych tabel do przedstawienia problemu: Cytat - klient - [id].[nazwa]
- faktura - [id].[data_wystawienia].[id_klienta] Mam takie pytanie, czy to są te polecenia robią to samo? Pierwsze: Kod SELECT
klient.id id, klient.name imie, faktury.data_wystawienia data FROM klient, faktury WHERE klient.id=faktury.id_klienta Drugie: Kod SELECT Co dziwniejsze z mojej wiedzy wynika (tak słyszałem), że JOIN jest tylko pojęciem i że pierwszy przykład jest "bardziej" SQL'owy.
klient.id id, klient.name imie, faktury.data_wystawienia data FROM klient LEFT JOIN faktura ON (faktura.id=klient.id) A tak wogóle to mam jeszcze jedno pytanie. Czy chcąc dokonać lewego złączenia zewnętrznego z użyciem słówka JOIN powinienem napisać Kod OUTER LEFT JOIN czyKod LEFT OUTER JOIN (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) ![]() ![]() |
Cytat Pierwsze:
Kod SELECT klient.id id, klient.name imie, faktury.data_wystawienia data FROM klient, faktury WHERE klient.id=faktury.id_klienta wypisze tylko tych klientow, ktorzy _maja_ jakakolwiek fakture, w wyniku nie pojawia sie zadni klienci nie posiadajacych wpisow w fakturach Cytat Drugie:
Kod SELECT klient.id id, klient.name imie, faktury.data_wystawienia data FROM klient LEFT JOIN faktura ON (faktura.id=klient.id) Wypisze _wszystkich_ klientow, dla klientow posiadajacych faktury rowniez dane tych faktur, dla klientow bez faktur wypisze dane klienta i zamiast danych faktur da wartosc NULL |
|
|
![]() ![]() |
![]() |
Aktualny czas: 29.09.2025 - 16:00 |