465 Stimmen

SQL-Abfrage gibt Daten aus mehreren Tabellen zurück

Ich würde gerne Folgendes wissen:

  • Wie erhalte ich Daten aus mehreren Tabellen in meiner Datenbank?
  • Welche Arten von Methoden gibt es, um dies zu erreichen?
  • was sind joins und unions und wie unterscheiden sie sich voneinander?
  • Wann sollte ich die einzelnen Produkte im Vergleich zu den anderen einsetzen?

Ich plane, dies in meiner (zum Beispiel - PHP) Anwendung zu verwenden, aber nicht wollen, um mehrere Abfragen gegen die Datenbank ausführen, welche Optionen habe ich, um Daten aus mehreren Tabellen in einer einzigen Abfrage zu erhalten?

Anmerkung: Ich schreibe dies, weil ich gerne einen Link zu einem gut geschriebenen Leitfaden für die zahlreichen Fragen, die mir in der PHP-Warteschlange ständig begegnen, zur Verfügung stellen möchte, so dass ich darauf verweisen kann, wenn ich eine Antwort gebe.

Die Antworten decken folgende Bereiche ab:

  1. Teil 1 - Verbindungen und Zusammenschlüsse
  2. Teil 2 - Unterabfragen
  3. Teil 3 - Tricks und effizienter Code
  4. Teil 4 - Unterabfragen in der From-Klausel
  5. Teil 5 - Eine gemischte Tüte mit Johns Tricks

10voto

Anton Chan Punkte 21

Ich hoffe, Sie finden die Tabellen, wenn Sie das Ding durchlesen:

jsfiddle

mysql> show columns from colors;                                                         
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+           
| id    | int(3)      | NO   | PRI | NULL    | auto_increment |
| color | varchar(15) | YES  |     | NULL    |                |
| paint | varchar(10) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X