Een join die inhoudt dat een aandoening waarbij kolommen in twee tabellen worden opgegeven als gelijk staat bekend als een equijoin of inner join. U leert over andere typen joins in les 12, "rel =" nofollow "class =" exlnk "target =" _ blank "Creating Geavanceerd sluit zich aan bij."
Ook als uw tafel definitie heeft een vreemde sleutel gedefinieerd (leert u hoe dit te doen in les 17), moet u een WHERE clausule die de join voorwaarde specificeert bevatten.
De relatie moet worden gebruikt voor een join wordt nooit in de database opgeslagen niveau.
Deelnemen Multiple Tafels
U kunt deelnemen aan meer dan twee tafels in één vraag door het specificeren van alle namen tafel in de FROM clausule. Het volgende voorbeeld wordt de relaties tussen orders, order_lines en producten tafels een bestelling geschiedenis te produceren voor een bepaalde klant:
mysql> SELECT o.order_id, o.order_date, l.quantity, p.name -> VANAF bestellingen o, order_lines l, producten p -> WAAR o.order_id = l.order_id -> EN p.product_code = l.product_code -> EN o.customer_code = 'SCICORP' -> ORDER BY o.order_date; + - -------- + ------------- + ---------- + ---------------- - + | order_id | ORDER_DATE | hoeveelheid | Naam | + ---------- + ------------- + ---------- + ----------- ------- + | 3 | 2006-01-23 | 16 | Klein product || 4 | 2006-02-02 | 16 | Klein product || 4 | 2006-02-02 | 10 | Grote product || 5 | 2006-02-05 | 10 | Medium product || 5 | 2006-02-05 | 10 | Grote product | + ---------- + ------------- + ---------- + ---------- -------- + 5 rijen in set (0.
00 sec)
Om een equijoin op meerdere tafels te voeren, een voorwaarde in de WHERE-component moet een relatie van elke tafel naar een andere tafel te specificeren . In dit voorbeeld zijn er relaties tussen orders en order_lines en tussen order_lines en producten.
Elke rij in order_lines voegt de aangegeven hoeveelheid van een product naar een order. De kolom order_id in order_lines joins die tafel om orders en de kolom product_code sluit zich aan producten. De eerste twee voorwaarden in de WHERE geven deze relaties.
Het derde filter wordt gebruikt om alleen de order geschiedenis terug te keren voor SCICORP.
Joining Tables
In het vorige voorbeeld, omdat er geen directe relatie tussen orders en producten, geen voorwaarde in de WHERE probeert deze tabellen te koppelen.
Hoewel elke tafel samengevoegd moeten een relatie met een andere ta
Android programmeren: I. Android Activiteit Lifecycle & amp; ndash; Concepts
- Typ Gieten in Php
- Berekende Values
- Vlaggen in Javascript String Regelmatige Expressions
- Wat programmeertaal te beginnen met - Part 2
- Extra functies in Javascript String Regelmatige Expressions
- AS3IsoLib Tutorial Series - Camera
- ActivePerl Basis Syntax
- Het creëren van JavaScript-objecten door Inheritance
- Variabele lengte Argument List
- Wat zijn datastructuren?