HelloSpencer
Ensign
- Registriert
- März 2011
- Beiträge
- 137
Hallo,
ich versuche mir gerade etwas SQL (DB2) beizubringen. Es klappt auch soweit ganz gut, jedoch verstehe ich einen Ausdruck bei dieser SQL Anweisung nicht. Finde auch im Internet nichts dazu, was aber auch daran liegt, da ich nicht weiß was es sein soll.
In dem Beispiel habe ich diese Tabelle hier:
Das ist die SQL Anweisung, mit der die Personen die in der gleichen Stadt wohnen mittels einem Join verbunden werden.
Das sieht dann so aus:
Ich verstehe die SQL Anweisung nur bis zu dem AND. Für was brauche ich das a.sno < b.sno ?
Und wann muss ich bei Joins mit DB2 die Columnames umbennen, bzw muss man das immer machen ? Also a_city AS xy etc... Kann man sich das nicht auch sparen also ohne AS?
ich versuche mir gerade etwas SQL (DB2) beizubringen. Es klappt auch soweit ganz gut, jedoch verstehe ich einen Ausdruck bei dieser SQL Anweisung nicht. Finde auch im Internet nichts dazu, was aber auch daran liegt, da ich nicht weiß was es sein soll.
In dem Beispiel habe ich diese Tabelle hier:
Das ist die SQL Anweisung, mit der die Personen die in der gleichen Stadt wohnen mittels einem Join verbunden werden.
Code:
SELECT a.sno AS sno_1
, a.city AS city_1
, b.sno AS sno_2
, b.city AS city_2
FROM suppliers AS a
INNER JOIN suppliers AS b
ON a.city = b.city
AND a.sno < b.sno;
Das sieht dann so aus:
Ich verstehe die SQL Anweisung nur bis zu dem AND. Für was brauche ich das a.sno < b.sno ?
Und wann muss ich bei Joins mit DB2 die Columnames umbennen, bzw muss man das immer machen ? Also a_city AS xy etc... Kann man sich das nicht auch sparen also ohne AS?