Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySql] JOIN a WHERE
Petre
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 12.05.2012

Ostrzeżenie: (0%)
-----


Witajcie

pytam wujka google, ale nie daje mi jednoznacznej odpowiedzi.

Jaka jest różnica między np:

  1. SELECT *
  2. FROM Orders
  3. LEFT JOIN OrderLines ON OrderLines.OrderID=Orders.ID
  4. WHERE Orders.ID = 12345



  1. SELECT *
  2. FROM Orders
  3. LEFT JOIN OrderLines ON OrderLines.OrderID=Orders.ID AND Orders.ID=12345


dokładnie rzecz ujmując chodzi mi o zastosowanie WHERE oraz AND za ON. Która wersja jest poprawniejsza i bardziej wydajna w przypadku większej ilości połączeń?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




No i co z tego że odwróciłeś kolejność? Wyjasnienie na temat LEFT JOIN podałem ci w pierwszym poście i nic tego nie zmienia...
Cytat
Drugie zapytanie zwróci ci wszystkie rekordy z ORDERS, podczas gdy pierwsze, tylko te rekordy, które spełniają warunek. Przecież to oczywiste

Cytat
LEFT JOIN zwraca rekordy z FROM nawet jak nie ma połączenia z LEFT JOIN.
Połącz w końcu te dwa fakty
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 20:49