Отцам SQL.

Monstrodamus

Вопрос как научится к пн сколько-нибудь сносно писать запросы.
Что делать то ? :)

0000

Берешь отца - 1шт. и им учишь. Все равно за пару дней фиг выучишь, разве что простые совсем вещи. К тому же под каждой БД свои заморочки.
Мог бы помочь по Ораклу, но уезжаю на выходные.

elena-kotenok75

какой-нить учебник + sql-ex.ru ?

Monstrodamus

sql-ex.ru
Отцом за пару дней точно стать не получится, но вот с десяток упражнений сделать успеть можно и кое с чем разобраться. Вопрос какие именно упражнения делать ?

timefim

Делай по порядку, не промахнешься.

freezer

А ты в порядке увеличения сложности
сначала
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
ну и т.д. Пока не достигнешь просветления

Alexander08

sql.ru
да прибудет с тобой бог!

Monstrodamus

 Спасибо попрубую так. Книжку бы какую потолковее в электронном виде скачать.
А ещё шпору на пару страниц, с основными конструкциями.

uncle17

а вот этот список "по степени усложнения" и будет тебе шпорой. SQL всё же слишком похож на человеческий, чтобы значение каждой инструкции еще и расписывать.

Monstrodamus

Не фига. Машина человеческого языка покамест не понимает. Отсюда вывод синтаксис надо либо заботать, либо иметь где-то под рукой если заботать не успеваешь.

freezer

очень даже понимает:
http://www.google.ru/search?aq=f&complete=1&hl=ru&am...

zloDEY

в качестве шпоры
http://w3schools.com/sql/

Monstrodamus

Спасибо

sylar

intuit.ru

Monstrodamus

Задачка
Написать запрос, который из таблиц 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

sinet

nvl для Оракла
ifnull для MySQL
isnull для MSSql
coalesce для PostgreSQL
вообще нет функции для SQLite
 :grin:

sinet

Дополните список. Интересно посмотреть будут ли совпадения.

Monstrodamus

Что IS NULL я допёр, а как его вставить в запрос и куда вставлять "0" я покамест не воткнул.

sinet

Исользуй left join, а потом на поле с зарплатой натрави эту функцию.

psm-home

COALESCE или CASE
для Firebird (1.5 and higher)

Andr163

coalesce, а не coleasce :)

Monstrodamus

До сих пор не въехал как константу вставить в итоговую таблицу.

0000


select f1, "Константа" as f2 from Table1

Константу надо в кавычки поместить, тока вот какие - одинарные или двойные - это от СУБД зависит.

Monstrodamus

По ходу в Microsoft® Jet SQL который оказался у меня под рукой нет ключевого слова CASE :(
COALESCE есть, но его от тоже как-то не воспринимает.
Оставить комментарий
Имя или ник:
Комментарий: