Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem SQL - rozlišení vnitřního a vnějšího SELECT

Zdravím všechny,
začínám se učit SQL a narazil jsem na jednu věc, které úplně nerozumím. Je možné odlišit vnitřní a vnější SELECT v příkazu s vnořenou podmínkou. Uvádím dva příklady níže - zadání a SQL dotaz (který je správně avšak nedokážu si to nijak logicky odvodit)

Find the largest country (by area) in each continent, show the continent, the name and the area:

SELECT w1.continent, w1.name, area
FROM world w1
WHERE w1.area = (SELECT MAX(area) AS area FROM world w2 WHERE w1.continent = w2.continent)

Some countries have populations more than three times that of any of their neighbours (in the same continent). Give the countries and continents.

SELECT w1.name, w1.continent
FROM world w1
WHERE w1.population > (SELECT 3*MAX(population) FROM world w2 WHERE w1.continent = w2.continent AND w1.name != w2.name)

Případně zde je to online, příklad 6 a 8. http://www.sqlzoo.net/wiki/SELECT_within_SELECT_Tu torial

Jak tam figurují ty parametry w. proč tam jsou? Musí tam být? Platí pro to nějaká pravidla?

Za každou radu budu velmi rád, stejně tak za odkaz na něco, kde se daná problematika vysvětluje.
Předem díky:)

Předmět Autor Datum
W nejsou parametry, jsou to jen aliasy, nahrazujici nazvy tabulek. V tomto pripade nejdou psat prim… poslední
Jan Fiala 13.09.2013 20:13
Jan Fiala

W nejsou parametry, jsou to jen aliasy, nahrazujici nazvy tabulek.

V tomto pripade nejdou psat primo jmena tabulek, protoze pouzivas stejnou tabulku 2x. Proto musis odlisit ze ktere tabulky pouzivas pole v podmince.

Zpět do poradny Odpovědět na původní otázku Nahoru