Loading:


Jak pobrać dane z kilku tabel za jednym zapytaniem SQL LEFT JOIN

SQL LEFT JOIN używamy aby pobrać dane z kilku tabel za jednym zapytaniem, rozwiązanie to jest bardzo dobre gdyż oszczędza nam ponownego łączenia z bazą.

Przykład mamy 2 Tabele:

1. Tabela Klient

Imie Nazwisko
Jan Nowak
Agata Kowalska
Marcin Wiśniewski


2. Tabela Zamowienia

id Nazwisko
1 Nowak
2 Nowak
3 Nowak
4 Kowalska
5 Kowalska
6 Kowalska
7 Wiśniewski



Jeśli chcemy za jednym zapytaniem pobrać wszystkie id zamówienia jakich dokonała osoba o nazwisku Nowak oraz jej imie użyjemy następującego zapytania:

$zapytanie = "SELECT a.imie, b.id FROM Klient AS a LEFT JOIN Zamowienia AS b ON a.nazwisko=b.nazwisko";

Wyjaśnienie:

a.imie używamy prefixu który zadeklarowaliśmy w tym miejscu: Klient AS a

tak samo jest z b.id Zamowienia AS b

 

Równie dobrze zapytanie mogło by mieć postać:

$zapytanie = "SELECT Klient.imie, Zamowienia.id FROM Klient  LEFT JOIN Zamowienia ON Klient.nazwisko=Zamowienia.nazwisko";

 

Linijka : a.nazwisko=b.nazwisko w tym miejscu ustawiamy że chcemy pobrać tylko te rekordy gdzie nazwisko w tabeli klienci jest to samo gdzie nazwisko w tabeli zamówienia.

SQL zwróci nam:

1 Jan
2 Jan
3 Jan

Ponieważ chcieliśmy pobrać id zamówień na nazwisko Nowak i imię

 

 



Napisz Artykuł

Listing

niema




Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2020 v.1.5 | design: diviXdesign & rainbowcolors