Отцам SQL.
Мог бы помочь по Ораклу, но уезжаю на выходные.
какой-нить учебник + sql-ex.ru ?
sql-ex.ruОтцом за пару дней точно стать не получится, но вот с десяток упражнений сделать успеть можно и кое с чем разобраться. Вопрос какие именно упражнения делать ?
Делай по порядку, не промахнешься.
сначала
SELECT * FROM A
потом
SELECT * FROM A WHERE Price=10
потом
SELECT count(*) FROM A WHERE Price=10 GROUP BY Weight
потом
SELECT count(* Weight FROM A WHERE Price=10 GROUP BY Weight HAVING Weight>1
потом
SELECT count(DISTINCT *) as N, Weight FROM A WHERE Price=10 GROUP BY Weight HAVING Weight>1
потом
SELECT count(DISTINCT *) as N, Weight FROM A WHERE Price=10 GROUP BY Weight HAVING Weight>1 ORDER BY N
ну и т.д. Пока не достигнешь просветления
да прибудет с тобой бог!
А ещё шпору на пару страниц, с основными конструкциями.
а вот этот список "по степени усложнения" и будет тебе шпорой. SQL всё же слишком похож на человеческий, чтобы значение каждой инструкции еще и расписывать.
Не фига. Машина человеческого языка покамест не понимает. Отсюда вывод синтаксис надо либо заботать, либо иметь где-то под рукой если заботать не успеваешь.
очень даже понимает:
в качестве шпоры
Спасибо
intuit.ru
Написать запрос, который из таблиц SOTR и ZARP выводит следующую информацию:
Имя сотрудника; Адрес; Зарплата
Если по одному из сотрудников зарплата не указана, то в результирующей выборке в поле Зарплата указывать 0. ( хотя ключевое слово подскажите которым "0" вписать можно)
SOTR
Name Mesto Sex BirthDate
Петр Москва M 1985-04-23
Иван Киев M 1979-12-12
Маша Москва W 1980-09-11
Федор Фрунзе M 1976-07-03
ZARP
Name Zarp
Петр 100
Федор 200
Маша 300
ifnull для MySQL
isnull для MSSql
coalesce для PostgreSQL
вообще нет функции для SQLite

Дополните список. Интересно посмотреть будут ли совпадения.
Что IS NULL я допёр, а как его вставить в запрос и куда вставлять "0" я покамест не воткнул.
Исользуй left join, а потом на поле с зарплатой натрави эту функцию.
COALESCE или CASEдля Firebird (1.5 and higher)

До сих пор не въехал как константу вставить в итоговую таблицу.
select f1, "Константа" as f2 from Table1
Константу надо в кавычки поместить, тока вот какие - одинарные или двойные - это от СУБД зависит.

COALESCE есть, но его от тоже как-то не воспринимает.
Оставить комментарий
Monstrodamus
Вопрос как научится к пн сколько-нибудь сносно писать запросы.Что делать то ?