Erklärung SQL String

Fragen und Probleme rund um die Abfragespache SQL.

Erklärung SQL String

Beitragvon Kaptain Iglo » Do 5. Jul 2012, 16:46

Hallo,ich frage mich gerade was es bei diesem SELECT auf sich hat.

SELECT name,region,population FROM bbc x WHERE 25000000 >= ALL (SELECT population FROM bbc y WHERE x.region=y.region AND y.population>0)

Kann mir jemand erklären was das x nach FROM bbc soll?
Das gleiche auch für >= ALL


Vielen Dank!
Kaptain Iglo
Neuer Benutzer
 
Beiträge: 14
Registriert: Mo 24. Jan 2011, 12:22

Beitragvon akretschmer » Do 5. Jul 2012, 16:55

Kaptain Iglo hat geschrieben:Hallo,ich frage mich gerade was es bei diesem SELECT auf sich hat.

SELECT name,region,population FROM bbc x WHERE 25000000 >= ALL (SELECT population FROM bbc y WHERE x.region=y.region AND y.population>0)

Kann mir jemand erklären was das x nach FROM bbc soll?
Das gleiche auch für >= ALL


Vielen Dank!


Das x ist einfach ein Alias, so wie auch das y. Das all (select col from ...) liefert col zurück.


Gegenfrage: Wo hast das gesehen?


Andreas
--
ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)

https://www.xing.com/profile/Andreas_Kretschmer7
Hosting-Provider mit PostgreSQL-Support gesucht? Mich fragen!
akretschmer
Erfahrener Benutzer
 
Beiträge: 5938
Registriert: So 29. Okt 2006, 14:35
Wohnort: Kaufbach, Sachsen, Germany, Germany

Beitragvon Kaptain Iglo » Do 5. Jul 2012, 17:00

Danke für die Antwort.
Ich übe gerade auf dem sqlzoo. Auf einer anderen Seite war das als Lösung angepriesen.
Kaptain Iglo
Neuer Benutzer
 
Beiträge: 14
Registriert: Mo 24. Jan 2011, 12:22

Beitragvon Kaptain Iglo » Do 5. Jul 2012, 17:10

Ich muß nochmal nachhaken:

Das:
SELECT name,region,population FROM bbc x
ist nur die Kurzform von
SELECT name,region,population FROM bbc AS x

was bedeutet, dass die Ergebnismenge in x quasi abrufbar ist.
Kaptain Iglo
Neuer Benutzer
 
Beiträge: 14
Registriert: Mo 24. Jan 2011, 12:22

Beitragvon akretschmer » Do 5. Jul 2012, 17:15

Kaptain Iglo hat geschrieben:was bedeutet, dass die Ergebnismenge in x quasi abrufbar ist.


Ja.

Andreas
--
ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)

https://www.xing.com/profile/Andreas_Kretschmer7
Hosting-Provider mit PostgreSQL-Support gesucht? Mich fragen!
akretschmer
Erfahrener Benutzer
 
Beiträge: 5938
Registriert: So 29. Okt 2006, 14:35
Wohnort: Kaufbach, Sachsen, Germany, Germany

Beitragvon Gisman » Fr 6. Jul 2012, 08:00

Grund für die Aliase ist hier, das du in einem Statement zweimal auf die gleiche Tabelle in verschiedenen Kontexten zugreifen willst. Postgres bracht deshalb einen Hinweis, was wo gemeint ist.

Gruß Uwe
Have a lot of fun!
Gisman
Erfahrener Benutzer
 
Beiträge: 863
Registriert: Fr 20. Jan 2006, 16:30
Wohnort: Pfalz


Zurück zu SQL

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron