Учим SQL 4+. Учим sql


Как изучить основы SQL за 2 дня | Жизнь - это движение! А тестирование

В начале 2012 года я дорабатывала последние дни в компании ХХХ. Нас поглощал УУУ и там, на их проектах, тестировщики были не нужны. У меня было много свободного времени на работе, так как на моем проекте активность возникала раз в неделю.

Поэтому я училась. Мой разработчик начал учить меня основам программирования и рассказал про SQL, за что я ему до сих пор благодарна 

Он научил меня основам SQL за 2 дня. И этих знаний мне хватило, чтобы решать задачки на собеседовании. Потому что, если вы никогда не работали с SQL, все, что вам нужно знать — это основы. А чтобы понимать основы, надо просто разобраться с селектами и простейшими джойнами. Создать свою собственную базу и потыкать ее разными запросами, следя за результатами. И все! 

Чтобы не забыть, как это делается, я зафиксировала все познания:

Вот и все!

Еще я написала себе краткую шпаргалку, которую таскала за собой по всем собеседованиям и читала, читала, читала в метро! Потому что опыта то работы нет и все теоритические познания на собеседовании испаряются. А когда за полчаса до него читаешь шпаргалку, то шансов что-то вспомнить становится больше. Удачи на собеседованиях! 

См также:SQL. Полезные запросы — запросы посложнее, которые я использую в работе спустя 5 лет после написания тех последних дней в компании ХХХ.

Учебник по MySQLSql-ex.ru — бесплатный тренажер для практики

PS — статья сохранена на Testbase в навыке «знать SQL», теперь не потеряется!

okiseleva.blogspot.com

Учебники по SQL, онлайн обучение SQL

1.

Более-менее нормальный онлайн-учебник по SQL на русском языке:

Введение в SQL (М.Грабер)

http://www.mysql.ru/docs/gruber/

Ошибок тут хватает и в тексте, и в примерах запросов. Они кишат повсюду.

Единственное достоинство - выверенный русскоязычный текст. Немного кривоват, но понять можно.

2.

Есть еще один учебник Грабера, называется "Понимание SQL", выложен тут:

http://www.sql.ru/docs/sql/u_sql/

Качество перевода ужасное, текст переводился автопереводчиком, криво правились первые главы. Отсутсвуют многие символы в русских словах, особенно досталось букве "я" (вместо слова "поля" везде слово "пол"), слова часто разорваны, неправильно распознаны.

Ничего выучить по этому учебнику невозможно. Категорически запрещается тратить на него время. Переводчика этого учебника следует изолировать от общества.

3.

Открытый для свободного просмотра курс на intuit.ru

Татьяна Карпова

Базы данных: модели, разработка, реализация

http://www.intuit.ru/studies/courses/1001/297/info

Этот курс - практически полная копия книги Т. Карповой "Базы данных: модели, разработка, реализация". В книге было много неточностей и ошибок в тексте, в запросах и в результатах выборки. В свое время это сыграло со мной злую шутку - я на несколько лет не приступал к изучению SQL, так как считал что ничего в нем не понимаю, ибо не мог понять результаты работы даже простых примеров из этой книги. Поверить, что преподаватель Санкт-Петербурского университета аэрокосмического приборостроения может так лажать на простых примерах было выше моего сознания.

Плюс этого курса в том, что на intuit.ru он уже выверен, и тех диких ошибок, что были в книге, в нем нет (я по этому курсу изукрашивал бумажную книгу исправлениями). Курс фундаментальный, и в этом его основная ценность.

4.

Открытый для свободного просмотра курс на intuit.ru

Основы SQL

http://www.intuit.ru/studies/courses/5/5/info

Подробный курс, написан сложным, но очень точным научным стилем. Сплошная реляционная алгебра. Достоиства - много примеров кода и результатов выборок.

webhamster.ru

Изучение SQL. Сколько времени?

Страницы: 1 2 вся веткаФорум: "Прочее";Поиск по всему сайту: www.delphimaster.net;Текущий архив: 2008.05.11;Скачать: [xml.tar.bz2];

Вниз

Изучение SQL. Сколько времени? 
capkoh ©   (2008-03-26 12:45) [0]

Вопрос такой: за какое время можно изучить SQL в такой степени, чтобы можно было претендовать на звание «начинающий»? Положим, что я буду уделять этому занятию ровно два часа в день (только будни).

Вопрос второй: что должен знать и уметь человек с опытом работы с SQL в один год?

Стоит ли этим заниматься безотносительно к какой-либо конкретной БД?Если нет, то какую БД выбрать?

Ega23 ©   (2008-03-26 12:54) [1]

> Положим, что я буду уделять этому занятию ровно два часа > в день (только будни).

Простите, не удержался: а с женой у вас как? Тоже по расписанию поминутному?  :)

Romkin ©   (2008-03-26 12:57) [2]

www.sql-ex.ru Сертификат. Это - начальный уровень

Правильный_Вася   (2008-03-26 12:59) [3]

> за какое время можно изучить SQL в такой степени, чтобы > можно было претендовать на звание «начинающий»?полная неделя интенсивных занятий

Corwin   (2008-03-26 13:00) [4]

http://www.sql.ru/docs/sql/u_sql/index.shtml

Данный книг отражает собственно весь pure SQL.В зависимости от вовлеченности, после около 0,5 года производственной деятельности, после набора критической суммы опыта, стоит озадачиться вопросами из области SQL tuning (такая книжка тоже есть у O"Reilly), что подразумевает знакомство с конкретной БД (если это Oracle, то помочь могут Скотт Урманн, Том Кайт, и Oracle Concept Manuals).

Какая БД - вопрос всецело решается производственной необходимостью.

capkoh ©   (2008-03-26 13:10) [5]

> Простите, не удержался: а с женой у вас как? Тоже по расписанию > поминутному?  :)Да ничего. Жены у меня нет, и в ближайшее время не предвидится.Мне ещё месяца два-три быть студентом, к слову. Тут, знаете, полезно план составлять и его придерживаться.

Почему вы решили, что она у меня есть? :)Но вопрос не в этом.

Если есть ещё у кого-то подобные вопросы, то задавайте скорее. Чем быстрее они кончатся, тем быстрее начнутся полезные посты, я надеюсь.

Заранее спасибо за содержательные ответы.

Игорь Шевченко ©   (2008-03-26 13:16) [6]

Купить две книжки: Мартина Грубера по SQL и Джо Селко - SQL для профессионалов. Прочитать их обе. Осмыслить. После этого на уровень "Для начинающих" вполне можно претендовать.

Ega23 ©   (2008-03-26 13:19) [7]

Практика, практика и ещё раз практика.

Reindeer Moss Eater ©   (2008-03-26 13:30) [8]

Примерно одна минута и ты уже начинающий.

Правильный_Вася   (2008-03-26 13:39) [9]

> Примерно одна минута и ты уже начинающий.а дальше - начавший, продолжающий, продолживший и т.п.

Sergey13 ©   (2008-03-26 13:50) [10]

Предлагаю, по итогам дискуссии, присвоить звание "начинающего" автору вопроса. 8-)

Kolan ©   (2008-03-26 13:58) [11]

> www.sql-ex.ru +1

DrPass ©   (2008-03-26 14:01) [12]

> за какое время можно изучить SQL в такой степени, чтобы > можно было претендовать на звание «начинающий»? Положим,>  что я буду уделять этому занятию ровно два часа в день > (только будни).Скажи, какой у тебя IQ?

Anatoly Podgoretsky ©   (2008-03-26 15:19) [13]

> capkoh  (26.03.2008 12:45:00)  [0]

А SQL это что, только составление запросов или больше. Запросы можно освоить от пары дней до недели.

ditrix ©   (2008-03-26 15:30) [14]

>>за какое время можно изучить SQLни за какое. образование не есть результат. образование - есть процесс.

capkoh ©   (2008-03-26 16:36) [15]

> Скажи, какой у тебя IQ?Это сказано иронично, подозреваю?В таком случае, если вы оцениваете все умственные способности человека единственным показателем IQ, то дайте мне ссылку на тест IQ, результатам которого вы доверяете. Я его пройду.

> образование не есть результат. образование - есть процесс.Согласен. Но во всех вакансиях, которые я видел, требуется «опыт работы с SQL от года» или подобное. Конечно, мне интересно, где я (ничего не зная на данный момент про SQL) этот опыт могу получить. Понятно также, что никто меня такого на работу брать не будет. Кому выгодно обучать с нуля? Вот именно получение базовых знаний мне сейчас наиболее интересно (книги, курсы). За www.sql-ex.ru спасибо.

Если кто-то хочет высказаться на тему проблемы получения «опыта от года» в коммерческой организации, то создайте отдельную ветку (меня там не увидите, это всё и так понятно). Здесь об этом писать не нужно.

Ega23 ©   (2008-03-26 17:28) [16]

> Вот именно получение базовых знаний мне сейчас наиболее > интересно

Если серьезно, то так:если у тебя нет проблем с дискретной математикой (а точнее - с логикой, т.е. прекрасно представляешь, что такое ((A and B) or C), где A, B и С - некие множества), то разобраться самостоятельно во всем этом деле можно за пару дней.Если рядом присутствует тот, кто тебе может это "на пальцах" объяснить, то за пару часов (мне в своё время шеф аккурат так и объяснил, после чего я тут же зачет пошёл сдавать).

Сложного в SQL нифига нет. А вот дальше начинается голая практика. И тут тебе уже никто не поможет, практический опыт накапливается долго.

DrPass ©   (2008-03-26 18:12) [17]

> > Скажи, какой у тебя IQ?> > Это сказано иронично, подозреваю?> В таком случае, если вы оцениваете все умственные способности > человека единственным показателем IQ, то дайте мне ссылку > на тест IQ, результатам которого вы доверяете. Я его пройду.> Иронично, конечно. Но смысл ты уловил - ничего не зная о твоих умственных способностях и подготовке, невозможно хотя бы примерно оценить, сколько тебе времени потребуется на изучение SQL

capkoh ©   (2008-03-26 20:52) [18]

Я спрашивал об изучении азов SQL (в этом можно убедиться, посмотрев первый пост). Думаю, что на это у всех уходит примерно равное время.

> [16] Ega23 ©   (26.03.08 17:28)Спасибо.

ferr   (2008-03-26 20:59) [19]

фтыкаешь проводи и говоришь: я знаю кун-фу. примерно так..

Anatoly Podgoretsky ©   (2008-03-26 21:53) [20]

> capkoh  (26.03.2008 20:52:18)  [18]

На азы нужно всего несколько часов, если конечно знать, что азы, а что нет.

Select * From tbl

Вот на это на понимание надо несколько секунд без объяснений и книгеИ вообще язык очень простой, для работы с данными всего четыре команды

SELECT, UPDATE, INSERT, DELETE

Johnmen ©   (2008-03-26 22:06) [21]

> Думаю, что на это у всех уходит примерно равное время.Ошибочно думаешь.Некоторые вообще не могут изучить 2*2 пожизненно. Что наглядно демонстрирует конференция "Начинающим".

ferr   (2008-03-26 22:28) [22]

> Select * From tblзвёздочка маст дай

Johnmen ©   (2008-03-26 22:36) [23]

> ferr   (26.03.08 22:28) [22]> > Select * From tbl> звёздочка маст дайЗачем так грубо?

ferr   (2008-03-26 22:41) [24]

> Зачем так грубо?Так это вселенское зло и корень всех бед. Она вообще ну никак не стыкуюется с реляционной алгеброй, добавлена для линтяев.. почти имхо.

Palladin ©   (2008-03-26 22:42) [25]

> ferr   (26.03.08 22:28) [22]угу и придумали ее идиоты... и мудрый ferr сейчас расскажет почему они были неправы...

Anatoly Podgoretsky ©   (2008-03-26 23:08) [26]

> Palladin  (26.03.2008 22:42:25)  [25]

О чем речь, фирма IBM изобрела SQL для рядовых непрограммирующих пользователей и как же она ошиблась.

Palladin ©   (2008-03-26 23:41) [27]

> Anatoly Podgoretsky © во во... а если быть точнее для экономистов аналитиков... что бы они могли почти как на нормальном английском запросить данные из хранилища...

но язык запросов очень понравился всем :) осрбонно программистам и получил дальнейшее развитие...

Ega23 ©   (2008-03-27 00:39) [28]

> Некоторые вообще не могут изучить 2*2 пожизненно. Зависит от системы счисления.Вот конкретнос ейчас я пьян, и чё0та не могу все комьинациии расписать. Но они отличны от 4.

Petr V. Abramov ©   (2008-03-27 02:05) [29]

> добавлена для линтяев.. почти имхо.<звездочка> > ferr   (26.03.08 22:41) [24] для админов ушедших годов, когда не было восхитительных пакетов типа Erwin, где все в графическом виде со связями. Но дураки, сместо того, чтоб ждать, когда загрузится смема и потом выискивать, просто пишут select * и знают поля :)

Petr V. Abramov ©   (2008-03-27 02:18) [30]

> Anatoly Podgoretsky ©   (26.03.08 23:08) [26] > > О чем речь, фирма IBM изобрела SQL для рядовых непрограммирующих > пользователей и как же она ошиблась.когда фирма изобрела, человека, неспособного написать sql-запрос, к компу не подпускали :)Компы были для программистов, не для юзеров, хотя их и использовали в мирных целях.

счас следующая попытка научить комп выдавать инфу по запросу на человеческом языке, тоже неудачная

http://www.yandex.ru/yandsearch?text=%D0%BB%D1%8E%D0%B1%D0%BE%D0%B2%D1%8C+%D0%B4%D0%B5%D0%B2%D1%83%D1%88%D0%BA%D0%B0+%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D0%BE

Смирнов   (2008-03-27 11:00) [31]

> И вообще язык очень простой, для работы с данными всего > четыре команды> > SELECT, UPDATE, INSERT, DELETE

может быть даже 3 всего, т.к. update = delete + insert (исходя из того, что в триггерах есть deleted и inserted), возможно я ошибаюсь, но мне так преподавали.

Palladin ©   (2008-03-27 11:05) [32]

> update = delete + insert бред...

Игорь Шевченко ©   (2008-03-27 11:06) [33]

Palladin ©   (27.03.08 11:05) [32]

Не всегда :) Внутре оно по крайней мере часто работает именно так.

Palladin ©   (2008-03-27 11:08) [34]

> Игорь Шевченко ©   (27.03.08 11:06) [33] ужас... интересно, какие в этом выгоды...

clickmaker ©   (2008-03-27 11:10) [35]

> [33] Игорь Шевченко ©   (27.03.08 11:06)однако, практика показывает, что delete работает дольше, чем update...

Palladin ©   (2008-03-27 11:11) [36]

Честно говоря, кроме как избавления от реализации функционала update, я выгоды в этом не вижу. То бишь выгода только для разработчиков получается.

Ega23 ©   (2008-03-27 11:18) [37]

> однако, практика показывает, что delete работает дольше,>  чем update...

Частичная реиндексация? Быстрее всего drop работает.  :)

clickmaker ©   (2008-03-27 11:19) [38]

> Быстрее всего drop работаетили truncate )

Palladin ©   (2008-03-27 11:21) [39]

угу... к ним бы еще where прикрутить :)

Игорь Шевченко ©   (2008-03-27 11:24) [40]

Palladin ©   (27.03.08 11:08) [34]

> интересно, какие в этом выгоды...

минус одна операция при реализации...

clickmaker ©   (27.03.08 11:10) [35]

> однако, практика показывает, что delete работает дольше,>  чем update...

Вполне разумно, данных для отката готовить больше

Eraser ©   (2008-03-27 11:29) [41]

> Anatoly Podgoretsky ©   (26.03.08 21:53) [20]> > capkoh  (26.03.2008 20:52:18)  [18]На азы нужно всего > несколько часов, если конечно знать, что азы, а что нет.> Select * From tbl+1 для того, чтобы понять различные вариации SELECT * FROM WHERE особо напрягать мозг не надо, imho. если это знаешь, ну а так же вставку, обновление, удаление.. то считай, что начинающий..а следующий этап это уже внешние объединения, группировки и т.д.

clickmaker ©   (2008-03-27 11:33) [42]

> внешние объединения, группировки Тамбовские, Солнцевские... )На самом деле, основной гемор при работе с SQL - оптимизация запросов по скоростиЕсли смотрели фильм "Никола Паганини" - так там он говорит "истинная гениальность - играть не на одной струне, а вообще без струн"Так вот, основной парадокс при работе с базами в том, что нужно стараться как можно реже к этой самой базе обращаться )

Eraser ©   (2008-03-27 11:35) [43]

> clickmaker ©   (27.03.08 11:33) [42]эт точно, кэширование рулит )

Sergey13 ©   (2008-03-27 11:41) [44]

> [40] Игорь Шевченко ©   (27.03.08 11:24)> > однако, практика показывает, что delete работает дольше, чем update...> > Вполне разумно, данных для отката готовить больше

Но тогда, по этой логике на delete + insert должно готовиться еще больше, пусть и не на много. И апдейт должен бы работать медленнее.

Игорь Шевченко ©   (2008-03-27 11:53) [45]

Sergey13 ©   (27.03.08 11:41) [44]

Я извиняюсь, я имел в виду реализацию уже после того, как данные отката подготовлены. Мои слова не стоит понимать, как "СУБД при получении запроса UPDATE самостоятельно строит из него запросы DELETE и INSERT и последовательно их выполняет, как если бы они пришли от клиента".

Sergey13 ©   (2008-03-27 11:56) [46]

> [45] Игорь Шевченко ©   (27.03.08 11:53)

Ок.

capkoh ©   (2008-03-27 15:37) [47]

Благодарю всех откликнувшихся, теперь я понял с чего нужно начать изучение SQL и к чему стремиться при формировании запросов. А дальше, думаю, втянусь постепенно.

Simpson   (2008-03-27 20:19) [48]

LOL Он начнет изучение SQL с Fortran"a. Возьми Груббера прочитай станеш начинающим, базу для самостоятельных заданий используй существующую и уже запущенную (для Дельфи всегда идет Интербэйз(упрощено для понимания)). Просто проделай все примеры из книги и можеш смело говорить что в SQL ты начинающий.

MsGuns ©   (2008-03-27 21:01) [49]

На основе почти трехлетней плотной работы с пользователями самой разной квалификации и опыта могу сказать, что : Самостоятельно составлять простейшие запросы на выборку из одной таблицы с перечнем выбираемых полейс использованием Where средний пользователь может через день-два.Выборка из более чем одной таблицы (связки - join) - неделяВыборка с группировками (агрегатами) и агрегатными условиями (having)  - две-три неделиСоставление вложенных запросов - две-три неделиСоставление кросс-выборок - от нескольких месяцев или никогдаПонимание и проектирование бизнес-логики - никогда.Оптимизация запросов, анализ планов и т.д. - никогда

Все особенности конкретного скл-сервера слабо влияют на эти сроки за исключениес случаев когда одному пользователю приходится писать запросы к разным серверам поочередно (как пример, очень разные Interbase и MSSQL)

Petr V. Abramov ©   (2008-03-27 21:05) [50]

> MsGuns ©   (27.03.08 21:01) [49]

когда в вакансиях пишут "SQL от года", обычно как раз имеют в виду

> Понимание и проектирование бизнес-логики - никогда.> Оптимизация запросов, анализ планов и т.д. - никогда

Страницы: 1 2 вся веткаФорум: "Прочее";Поиск по всему сайту: www.delphimaster.net;Текущий архив: 2008.05.11;Скачать: [xml.tar.bz2];

Наверх

Память: 0.85 MBВремя: 0.098 c

www.delphimaster.net

‎App Store: Учим SQL

  • 3.0.7
    7 дек. 2017 г.

    * Bug fixes and improvements

  • 3.0.6
    17 нояб. 2017 г.

    * Support for iPhone X* Bug fixes and improvements

  • 3.0.5
    14 нояб. 2017 г.

    * Bug fixes and improvements

  • 3.0.4
    1 окт. 2017 г.

    * Bug fixes for iOS 11* Performance & stability improvements

  • 3.0.3
    22 сент. 2017 г.

    * A lot of bug fixes and improvements.

  • 3.0.2
    25 июля 2017 г.

    * Going Multilingual! Russian and Spanish languages now available from the Settings menu! Check it out now!* Bug fixes and improvements

  • 3.0.1
    12 апр. 2017 г.

    * Brand new design;* You can now learn offline by turning this mode on from the Settings page;* You can zoom texts and images;* Touch ID support added;* Bug fixes and improvements;

  • 3.0
    10 апр. 2017 г.

    * Brand new design;* You can now learn offline by turning this mode on from the Settings page;* You can zoom texts and images;* Touch ID support added;* Bug fixes and improvements;

  • 2.6
    16 авг. 2016 г.

    * Bug fixes and improvements.

  • 2.5
    18 июля 2016 г.

    * New Q&A Forum! Participate in coder-to-coder discussions.* New Achievements!

  • 2.4
    13 мая 2016 г.

    * Invite Friends!* Bug fixes and performance improvements.

  • 2.3
    3 февр. 2016 г.

    * Up-vote and down-vote posts in the discussion forums.* Bug fixes and performance improvements.

  • 2.2
    18 дек. 2015 г.

    * Introducing new XP Points and Levels!* Public Profiles: view other players' stats from the leaderboard.* A major improvement to the overall experience!* Bug fixes and improvements.

  • 2.1
    11 сент. 2015 г.

    * Bug fixes and improvements.* No Wi-Fi? No problem! We've improved the learning experience so you can learn offline and even faster than before.* Check out our new Glossary section!

  • 2.0
    21 авг. 2015 г.

    * No Wi-Fi? No problem! We've improved the learning experience so you can learn offline and even faster than before.* Check out our new Glossary section!

  • 1.3
    14 июля 2015 г.

    * Certificates of Completion Now Available!* Introducing Shortcuts: now you can jump to your desired level!* New video-quiz navigation control.* Bug fixes and improvements.

  • 1.2
    8 июля 2015 г.

    * Certificates of Completion Now Available!* Introducing Shortcuts: now you can jump to your desired level!* New video-quiz navigation control.* Performance and stability improvements.

  • 1.1
    26 мая 2015 г.

    * Enjoy an even better learning experience with our awesome new design!* Bug fixes and improvements.

  • 1.0.2
    24 февр. 2015 г.

    - Video seek bar- Bug fixes & stability improvements

  • 1.0.1
    29 янв. 2015 г.

    Video bug fix, app stability improved, other bug fixes

  • 1.0
    7 янв. 2015 г.
  • itunes.apple.com