mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 22:32 Benutzername: Passwort: Auto-Login

Thema: Joins - Implizit vs Explizit vom 10.12.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Joins - Implizit vs Explizit
Autor Nachricht
choise
Threadersteller

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Mi 10.12.2008 10:44
Titel

Joins - Implizit vs Explizit

Antworten mit Zitat Zum Seitenanfang

Hi Leute,

längere Zeit frage ich mich schon, was zb bei einem Inner Join der unterschied zwischen implitzit und explizit ist.
Ich mein, der Syntaxunteschied ist mir klar, aber hat das eine Vorteile gegenüber dem Anderen ?

angenommen das hier:

Implizit
Code:

SELECT
   `id_tabellea`,
   `a`,
   `b`,
   `c`,
   `d`,
   `e`,
   `f`,
   `g`
FROM    
   `tabellea`,
   `tabelleb`
WHERE
   `tabellea`.`id` = `id_tabellea`


Explizit
Code:

SELECT
   `id_tabellea`,
   `a`,
   `b`,
   `c`,
   `d`,
   `e`,
   `f`,
   `g`
FROM   `tabellea`
INNER JOIN
   `tabelleb` ON `tabellea`.`id` = `id_tabellea`



Performance ? andere Ergebnisse ? (kann ich mir nich vorstellen)

Performance mäßig hab ichs jetzt nur lokal getestet, was "natürlich" keinen unterschied gebracht hat.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 10.12.2008 11:05
Titel

Antworten mit Zitat Zum Seitenanfang

Performance würde ich vernachlässigen, der Aufwand des Parsens der SQL-Strings dürfte minimal unterschiedlich sein. Ergebnisunterschiede natürlich auch nicht, aber ich glaube es ist schwer, einen äußeren join mittels impliziter Schreibe zu realisieren (bzw. unmöglich)? Du machst ja immer 'n inneren join, weiß aber nicht was mit IS NULL oder so geht.
Ich meine mich erinnern zu können, dass beim impliziten join die Tabellennamen von rechts nach link gelesen werden, was bei komplizierten Abfragen schon mal für Verwirrung sorgen kann.

Ich würde immer auf die explizite Schreibe zurückgreifen allein wg. der besseren lesbarkeit. Zudem bist du hier auch flexibler, was die Bestimmung der Join-Richtung angeht.

Oracle 8 unterstützt glaub ich aber diese Syntax (noch) nicht oder nur teilweise. Mittlerweile sind wir aber ja bei 11 angelangt.


Zuletzt bearbeitet von bacon am Mi 10.12.2008 11:07, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
choise
Threadersteller

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Mi 10.12.2008 11:09
Titel

Antworten mit Zitat Zum Seitenanfang

bacon hat geschrieben:

Ich würde immer auf die explizite Schreibe zurückgreifen allein wg. der besseren lesbarkeit. Zudem bist du hier auch flexibler, was die Bestimmung der Join-Richtung angeht.

das stimmt, abgesehen vom innerjoin kann man bei einer gewünschten joinrichtung ja eh nur die explizite schreibweise nehmen.

naja, oke, dann bleibe ich bei der expliziten. dank dir.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Fortgeschrittener MySQL Select mit Joins
[Frage] Link explizit als Downloadlink auszeichnen!
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.