![]() |
![]() ![]() |
![]() |
![]()
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 ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
1. Według manuala WHERE jest równoznaczne z OUTER JOIN
2. Pisz tak, jak działa ![]() -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#3
|
|
![]() 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 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 13:24 |