2016-06-05 21 views
-1
WHERE y.continent=x.continent 

und die ursprüngliche Abfrage istBenötigen Erklärung einer Abfrage

SELECT continent, name, population 
FROM world x 
WHERE population >= ALL (SELECT population 
         FROM world y 
         WHERE y.continent = x.continent   
         AND population > 0) 
+0

auf dem Tisch beitreten Was denken Sie hier los? Bitte erläutern Sie Ihren Denkprozess und vielleicht können wir die Probleme darin aufzeigen. –

+0

Diese Abfrage hat den Effekt einer [tag: greatest-n-per-group] -Abfrage (meistens), da sie die bevölkerungsreichsten Länder (?) Auf jedem Kontinent findet. Abhängig von Ihrem RDBMS gibt es effizientere Möglichkeiten zum Schreiben dieser Abfrage. –

Antwort

0
ALL (SELECT population FROM world y WHERE y.continent=x.continent AND population>0) 

Dieser Teil der Abfrage eine Reihe von Bevölkerung gibt basierend auf Kontinent und wo die Bevölkerung größer als Null ist.

y.continent=x.continent ist ein world

Verwandte Themen