MySQL Queries
Marco
- datenbank
Hallo
Mir ist der Unterschied nicht klar zwischen folgenden beiden Queries:
SELECT *
FROM tabelle1, tabelle2
WHERE tabelle1.id = tabelle2.id
und
SELECT *
FROM tabelle1
INNER JOIN tabelle2
ON tabelle1.id = tabelle2.id
Liegt der Unterschied lediglich darin, dass JOIN Statements mehr Möglichkeiten bieten? z.B. LEFT OUTER JOIN usw. oder kann ich das auch in Form des ersten SQL-Queries modellieren und wie?
Gruss
M.
PS. Wie kann ich in diesem Forum Codeschnippsel farblich hervorheben?
Vielleicht hilft dir diese Seite dabei weiter:
http://www.w3schools.com/sql/sql_join.asp
PS: hab keinen Plan wie man Code farblich markiert und muss sogar zu meiner schande zugeben, ich weiß noch nichtmal wie man Links auch verlinkt.
Hallo Flo(H),
Vielleicht hilft dir diese Seite dabei weiter:
Anklickbar so:
http://www.w3schools.com/sql/sql_join.asp
PS: hab keinen Plan wie man Code farblich markiert und muss sogar zu meiner schande zugeben, ich weiß noch nichtmal wie man Links auch verlinkt.
Da Du zugibst, dass es Dir zur Schande gereicht, ein paar Tipps:
[lіnk:http://www.w3schools.com/sql/sql_join.asp] -> http://www.w3schools.com/sql/sql_join.asp
und wenn Du dem Link eine Bezeichnung geben willst, die statt des Links angezeigt werden soll, dann verwendest Du:
[lіnk:http://www.w3schools.com/sql/sql_join.asp@title=Tutorial] -> Tutorial
Syntaxhighlightning für Code mit [ code lang=<sprache> ] [ /code ]
Leerzeichen weglassen, für <sprache> z.B. sql, perl, php, ... verwenden. Irgendwo gab es auch mal eine Liste...
Und die FAQ des Forums, deren Aktualisierung derzeit in Arbeit ist, sind wirklich sehr hilfreich
Freundliche Grüße
Vinzenz
PS: Schreibtechnik für link von Gunnar kopiert
Na dann kann ich das jetzt auch endlich mal verwenden *g*
Vielen Dank Vinzenz!
Hallo Vinzenz.
Syntaxhighlightning für Code mit [ code lang=<sprache> ] [ /code ]
Leerzeichen weglassen, für <sprache> z.B. sql, perl, php, ... verwenden. Irgendwo gab es auch mal eine Liste...
PS: Schreibtechnik für link von Gunnar kopiert
Ich auch. Geht übringens auch mit den code-Blöcken:
[cоde lang=xml]<foo title="Foo">Foo</foo>[/code] ⇒ <foo title="Foo">Foo</foo>
Einen schönen Freitag noch.
Gruß, Ashura
Hallo Ashura,
Ich auch. Geht übringens auch mit den code-Blöcken:
[cоde lang=xml]<foo title="Foo">Foo</foo>[/code] ⇒<foo title="Foo">Foo</foo>
Danke! Welcher Buchstabe ist es hier?
Mal sehen:
[cоde lang=sql]SELECT[/code]
c: [cоde lang=sql]SELECT[/code]
o: SELECT
d: [cоde lang=sql]SELECT[/code]
e: [cоde lang=sql]SELECT[/code]
Laut Vorschau muss es das "o" sein. Weißt Du, welches exotische Zeichen hier statt dem "o" verwendet wird?
Freundliche Grüße
Vinzenz
Hallo Vinzenz.
Ich auch. Geht übringens auch mit den code-Blöcken:
[cоde lang=xml]<foo title="Foo">Foo</foo>[/code] ⇒<foo title="Foo">Foo</foo>
Danke! Welcher Buchstabe ist es hier?
Suche dir einen aus: Cyrillic - Test for Unicode support in Web browsers
Mal sehen:
[cоde lang=sql]SELECT[/code]
c: [cоde lang=sql]SELECT[/code]
o:SELECT
d: [cоde lang=sql]SELECT[/code]
e: [cоde lang=sql]SELECT[/code]Laut Vorschau muss es das "o" sein. Weißt Du, welches exotische Zeichen hier statt dem "o" verwendet wird?
Das kleine kyrillische „o“.
Einen schönen Freitag noch.
Gruß, Ashura
Hallo Ashura,
Suche dir einen aus: Cyrillic - Test for Unicode support in Web browsers
eine nützliche Seite, danke für den Link.
Mir gefällt das kleine griechische Omikron einfach besser, das kann ich wenigstens lesen. *g*
Freundliche Grüße
Vinzenz
Weißt Du, welches exotische Zeichen hier statt dem "o" verwendet wird?
Das kleine kyrillische „o“.
Es hätte aber auch das
U+0441 с kleine kyrillische s
oder das
U+0435 е kleine kyrillische e
sein können. ;-)
Live long and prosper,
Gunnar
Hi Marco,
Mir ist der Unterschied nicht klar zwischen folgenden beiden Queries:
SELECT *
FROM tabelle1, tabelle2
WHERE tabelle1.id = tabelle2.id
und
SELECT *
FROM tabelle1
INNER JOIN tabelle2
ON tabelle1.id = tabelle2.id
der Unterschied liegt m.E. darin, dass die erste Variante nur eine Abkürzung für den normaler inner join ist und die zweite Variante nur dasselbe ausgeschrieben.
Wenn ich den Join spezifizieren will, nehme ich Variante 2, sonst kann ich mich entscheiden, was mir besser gefällt.
Vielleicht gibt es auch noch Perfomanceunterschiede, da bin ich mir aber nicht sicher.
ciao
romy
Hallo
Mir ist der Unterschied nicht klar zwischen folgenden beiden Queries:
SELECT *
FROM tabelle1, tabelle2
WHERE tabelle1.id = tabelle2.id
Es gab, glaube ich, Datenbankmanagementsysteme, die nur diese Syntax unterstützten.
und
SELECT *
FROM tabelle1
INNER JOIN tabelle2
ON tabelle1.id = tabelle2.id
das ist die von mir persönlich bevorzugte Syntax, weil sie die JOIN-Bedingung aus den Einschränkungen der WHERE-Klausel hervorhebt.
Liegt der Unterschied lediglich darin, dass JOIN Statements mehr Möglichkeiten bieten? z.B. LEFT OUTER JOIN usw. oder kann ich das auch in Form des ersten SQL-Queries modellieren und wie?
Wenn ja, dann beim OUTER JOIN bestimmt nur umständlich. Warum möchte man das wollen. Theta-Joins sind auch mit WHERE kein Problem. Bei identischen Spaltennamen ist die USING-Syntax besonders elegant (sofern das DBMS sie unterstützt).
Vielleicht hilft Dir mein Archivposting weiter, in dem ich noch eine weitere Variante des INNER JOINS vorstelle.
Grundsätzlich solltest Du die Doku Deines DBMS hinzuziehen, welche JOIN-Syntax unterstützt wird.
PS. Wie kann ich in diesem Forum Codeschnippsel farblich hervorheben?
Bei SQL mit
, bei anderen Sprachen vergleichbar.
Freundliche Grüße
Vinzenz