Чтобы найти в таблице planet планеты с
массой большей, чем у Марса, можно прежде определить массу Марса, а затем
выбрать планеты с помощью условия WHERE
mass>
:
масса_Марса
test54=#
SELECT mass FROM planet WHERE name='Марс';
mass ------------ 6.4219e+23 (1 запись)
test54=#
SELECT * FROM planet WHERE mass>6.4219e+23;
name | token | diameter | mass | orbit --------+-------+----------+------------+-------- Венера | ♀ | 12103.6 | 4.869e+24 | 0.72 Земля | ♁ | 12756.3 | 5.9736e+24 | 1 Марс | ♂ | 6794 | 6.4219e+23 | 1.52 Юпитер | ♃ | 142984 | 1.9e+27 | 5.2 Сатурн | ♄ | 120536 | 5.68e+26 | 9.54 Уран | ♅ | 51118 | 8.683e+25 | 19.218 Нептун | ♆ | 49532 | 1.0247e+26 | 30.06 (7 rows)
Замечание | |
---|---|
Таинственное появление Марса (эта уникальная планета тяжелее самой себя) в этом
списке имеет рациональное объяснение. Я при составлении второго запроса
скопировал и вставил то значение, которое было выведено при первом запросе.
Есть подозрение, что показанное число ( |
Но можно получить интересующие нас записи одним запросом:
test54=#
SELECT * from planet
test54-#
WHERE mass>(SELECT mass FROM planet WHERE name='Марс');
name | token | diameter | mass | orbit --------+-------+----------+------------+-------- Венера | ♀ | 12103.6 | 4.869e+24 | 0.72 Земля | ♁ | 12756.3 | 5.9736e+24 | 1 Юпитер | ♃ | 142984 | 1.9e+27 | 5.2 Сатурн | ♄ | 120536 | 5.68e+26 | 9.54 Уран | ♅ | 51118 | 8.683e+25 | 19.218 Нептун | ♆ | 49532 | 1.0247e+26 | 30.06 (6 rows)
Видно, что в качестве правой части неравенства взято значение, полученное в результате запроса. Важно, чтобы такой подзапрос возвращал только одну колонку и только одну запись.