Изучение SQL / sql :: пидоры помогите (реактор помоги)

пидоры помогите sql 

Изучение SQL

Здравствуйте многоуважаемые обитатели реактора.

Помогите с направлением как изучить SQL.

Сам являюсь офисным работником, из инструментов неплохо овладел Excel - макросы помогают в автоматизации многочисленных отчетов. Освободившегося времени хватает читать все новые посты и комментарии на реакторе. Но хочу расти дальше. Знаю, что есть хранилище данных, и многие тянут инфу из него напрямую посредством SQL. Имеется время и желание изучить эту тему. Но ролики на ютуб (во всяком случае те, что нашел) изначально дают какую-то муть. Подскажите какую-нибудь книгу/ресурс/курс, не обязательно бесплатные для начального, а потом и продвинутого освоения предмета. Уверен, что это поможет освободить еще больше времени для дальнейшей деградации и тотального чтения еще и бездны.

Купон от 2-D прилагается.

пидоры помогите,реактор помоги,sql


Подробнее

пидоры помогите,реактор помоги,sql
Еще на тему
Развернуть
сайт sql-tutorial.ru в паре с sql-ex.ru
на втором нужна регистрация
Впринципе, за пару дней сам понял что да как
для начала должно хватить

Когда на работу устраивался их и посоветовали
Lex Ray Lex Ray 19.03.202200:51 ответить ссылка 11.4
Спасибо
От себя могу добавить, что sql-ex очень некисло бустит скилл по SQL, особенно если читать рекомендуемые к задачам методички. Нужно понимать, что после 50ой-70ой задачи можно час писать запрос, а потом еще час его отлаживать и все равно не получит правильный ответ :).
После решения сложных задач еще советую форум читать, чтобы смотреть как другие решали.
В первую очередь стоит понять, как устроена СУБД и как делается нормализация до третьей формы. А сам язык начать учить после этого,
В больших и старых проектах, уже денормализацию делают. Ты погряз в теории.
mefiac mefiac 19.03.202202:29 ответить ссылка 1.8
Нормализации, денормализация, СУБД, третья форма
Не слушай про третью форму, нормальные пацаны нормализуют до формы Бойса-Кодда.
А если серьезно, то читай сначала про реляционные базы в целом. Что такое таблицы, транзакции и вот это вот все. А то изучать язык запросов к базам не зная что такое база будет опытом на любителя. Углубляться в конкретные СУБД вначале смысла не много, но желательно все таки выбрать конкретную, так как sql для них будет не совсем одинаковый и есть шанс окончательно запутаться. выбери Oracle или Postgres и ищи уроки по ним.
Taxar Taxar 20.03.202200:55 ответить ссылка 0.9
Нормализация и денормализация это просто интсрументы, каждый из которых выполняет свои задачи.
Нормализация нужна для OLTP систем, где важно оптимальное хранение данные, а также быстрые CRUD операции, чтобы приложение не тормозило (ну и плюс минимальный локинг строк и таблиц)
А если мы говорим про репортинговые системы, то там денормализация это абсолютно нормальное явление, потому как она ускоряет считывание и анализ данных - запрос обращающийся к одной таблице практически всегда быстрее аналогичного запроса обращающегося к нескольким таблицам и делаюшего джоин.
Если человек хочет работать с хранилищами данных, то нормализация там как раз-таки не особо нужна, хотя понимать что это такое тоже важно.
У фрикод кемпа, есть небольшие курсы на все случаи жизни, а ещё на сайте можно попрактиковаться.
mr_times mr_times 19.03.202200:54 ответить ссылка 0.8
в гугловых щитах можно писать запросы и строить таким образом таблицы. советую
omgster omgster 19.03.202200:57 ответить ссылка -0.3
Вобщем такая штука.
SQL - это не для офисных сотрудников. Никакой нормальный админ не даст тебе забирать инфу прямиком из базы.
Несмотря на кажущуюся общность с Exсel (шо там шо там таблицы с данными), SQL - это совершенно другая плоскость, напрямую относящаяся к разработке ПО.
Больше того, я так понял что ты планируешь что-то рассчитывать через SQL. Это реально плохая идея, потому как сервера баз данных рассчитаны на хранение информации, а не её обработку.
Stain Stain 19.03.202201:02 ответить ссылка 0.4
В чем проблема дать юзера с порезанными правами к слейв базе? Тогда манагер ничего не грохнет, и тяжелым запросом максимум - слейва тормознет.

Я нашим манагерам например в офисе сделал локальный мускуль куда каждое утро дамп накатывается с аналитическими данными и они их гоняют как им вздумается. Даже если что-то навернут то ничего страшного не случится.
Semecky Semecky 19.03.202201:11 ответить ссылка -0.3
Проблема может быть и в том, что часто данные в БД хранятся сразу в нескольких таблицах, да так что одного запроса не достаточно, целый скрипт писать нужно.
Вместе с SQL нужно учить еще, например, Питон.
Axil Axil 19.03.202201:26 ответить ссылка -2.2
"часто данные в БД хранятся сразу в нескольких таблицах" Ммм... JOIN?
Бывает что одним запросом с JOIN не обойдешься, чтобы собрать все нужные данные.
Да, такая база специально делается программистами для доступа к ней только из скрипта.
Посмотрев на нее в каком-нибудь DBeaver ничего толком не поймешь, не для этого писалась. При этом очень эффективная, все для консистентности.
Axil Axil 19.03.202201:48 ответить ссылка -2.9
Если ты про реляционность сейчас говоришь, то это не аргумент. Если тебе нужно аналитику посчитать то тебе sql за глаза хватит. А если реляции собраны нормально, то клиент тебе в процессе написания sql скрипта еще и авто-дополнение делает.
Вопрос. А что мешает сначала просто выгрузить данные, а все вычисления и обработку проводить потом в Excel?
В общем-то ничего. В некоторых современных базах данных есть хранимые процедуры, которые хранят "бизнес-логику" в самой базе данных и как итог ты не делаешь сложных вычислений в клиенте, а получаешь готовый результат. Если тебе надо результаты твоих вычислений из Excel потом вернуть в базу данных, то надо делать "прокладку", которая сумеет это сделать.
А если тебе какие-то мегаданные нужно посчитать, то столбчатую таблицу в зубы и считай на здоровье (например clickhouse)
Semecky Semecky 19.03.202201:57 ответить ссылка -0.6
Во времена кобола все храниои на лентах, линено. Работало медленно. Ребята из ibm подсуетились и сделали реляционньіе базьі данньіх (там есть мат теория, вроде так и назьівается теория отношений) и SQL. Так вот так же как и кобол SQL делали для офисного планктона, так что тьі несеш не просто хуйню, а полную хуйню.
nanoo nanoo 19.03.202208:54 ответить ссылка -0.3
Джоин семи цветов, union, подзапросы. А уж если вспомнить про оконные функции, with, load и прочую редкую хуйню, то вообще забей
Плюсую. Во многих компаниях SQL - обязательный инструмент аналитика (не разработчика).
Ну да, ну да, а агрегирующие и оконные функции, кореллированые подзапросы, - это всё хранение, конечно, а не обработка =))))
Я писал полтора года чисто на sql. Агрегации, группировки, гроупинги и вся такая баламуть. В один прекрасный момент обросший всём этим запрос начинает выполнятся по три минуты и более. А потом приходит менеджер и говорит: мне этот запрос надо выполнять с дясятью разными параметрами по очереди, а он грузится пол года, делай что-то. К чёрту. Вычисления в базе это вронг вей.
Stain Stain 19.03.202202:19 ответить ссылка -0.2
Ну и у парня-то цель не высоконагруженные приложухи или витрины писать, а SQL освоить. Я не представляю, как без SQL можно понять основные принципы управления данными.
Я пользуюсь иногда данными, которые выгружаются из хранилища. Всю обработку и вычисления как раз делаю уже после выгрузки в обычных таблицах
только таблица с десятком столбцов и 50 тыс сторк уже как-то некомфортно открывается на обычном рабочем компе в эксельке, а если еще нужно кучу сводных таблиц, становится совсем грустно.
iDvs iDvs 19.03.202217:40 ответить ссылка 0.0
SQL - это просто язык запросов, который используется, например, в MS Access. Так что он вполне может начать осваивать его на этом продукте. Стандарт языка +- похож в любой СУБД. Само по себе создание и работа с базами данных это не только про язык SQL, но и про нормализацию и прочие прелести.
Мы в универе осваивали SQL именно на базе access. Вполне подойдёт в качестве учебного пространства
Попробую
Абсолютно аналогично. На лекциях давали SQL92, а на практических это надо было реализовать в Access95.
Ну это спорно. Если например есть 100к записей и нужно найти дубликаты в определенном поле, то простой запрос придется обрабатывать на стороне клиента путем сравнения каждого с каждым и 10 млрд операций это уже ощутимо (допустим кодер не умеет Map и Set или язык не поддерживает). Эффективнее выдать хотя бы сортированный запрос, чтобы найти дубликаты одним проходом.
Кроме того, SQL Server Analysis Services занимается как раз обработкой, чтобы на запросы репортов "сколько пылесосов продали магазины сети в прошлом квартале по каждому из регионов" сервак не считал итоги, а выдавал готовые результаты из OLAP куба.

насчет SQL и разработки, вспомнилась шутка про "паралимпиаду по программированию". Я много лет работал MSSQL DBA в аутсорсе, писал скрипты, до того писал на Паскале и VBA, но нихуя не мог понять классы и объекты и ООП в целом, засыпал на первых же страницах на фразе "абстракция, инкапсуляция, наследование, полиморфизм".
1) Гайд для начинающих Windows\Mysql

2) Рекомендую накатить DBeaver CE, мне он больше всего нравится из клиентов sql https://dbeaver.io/download/
3) Официальная дока https://dev.mysql.com/doc/refman/8.0/en/tutorial.html

После того как установил рекомендую начать с простых селектов из бд, просто выбрать записи из одной таблицы( select * from sample_table;). Поиграйся с лимитами выборки и сортировкой (limit 100, offset 200, order by id asc). Потом дополни это дело фильтрами(where amount > 1000)

Дальше дополни это дело джоинами, присоединением выборки из одной таблицы к другой по ключам (join another_table on sample_table.id = another_table.sample_table_id)

После этого учи агрегирующие функции и группировки данных ( sum(price), count(id) )

Последнее из обязательного это подзапросы, Например выбрать связанные записи из нескольких таблиц, результат. Например select * from (select id, name from sample_table) as data.

По курсам хз, в основном дают вещи, которые условным манагерам не нужны, а если тебе нужно просто данные проанализировать не дергая программистов то ты быстрее сам всему научишься.
Semecky Semecky 19.03.202201:06 ответить ссылка 1.3
Спасибо
В дополнение ко всему сказанному, могу порекомендовать винрарнейшую книгу SQL Мартина Грабера. Считается классикой. Заслуженно.
Ок, почитаю
Внесу свою лепту в советы. Учитывая офисную направленность начать можно с MS Access:
https://rutracker.org/forum/viewtopic.php?t=149614
https://rutracker.org/forum/viewtopic.php?t=2113895
https://rutracker.org/forum/viewtopic.php?t=5286777
Ага, то есть запросы можно отправлять через access. Он как раз есть на всех компах
MS Access это тоже СУБД - система управления базами данных. Только помимо голой базы данных там же есть возможность впихнуть формы (для ввода данных, для вывода результатов) и макросы (обработка данных).

Когда-то давно на MS Access некоторые фирмы себе делали что-то вроде бух.учёта или складского учёта.
https://sqlzoo.net/wiki/SQL_Tutorial
Интерактивный туториал с нарастающей сложностью, с SELECT * до множественных JOIN с несколькими вложениями с ориентировкой по схеме.
Нарастающей сложность - это то что надо!
на stepik есть вполне внятный курс.
Please Please 19.03.202201:54 ответить ссылка 0.6
В дополнение
Если лень морочиться и хочется просто попробовать, то возьми какой-нибудь фиддлер, например http://sqlfiddle.com/
Там наверху кнопочка есть "View sample fiddle", она тебе пример подгрузит. Слева формируется схема, справа пишешь запросы, вывод данных внизу
Semecky Semecky 19.03.202202:03 ответить ссылка 0.3
"SQL Полное руководство" от Гроффа.
Половины книги хватит.

Чистейший синтаксис без привязок к какой-либо БД. Куча примеров, всё доступно.
Душнилы, не умеете обучать или дать нужный материал не лезьте вообще с советами, только отбиваете у человека желание учиться.
Ребята выше как будто SQL изучать начали уже зная SQl, грузите хернёй человека, схемами, реляционностью, книгами, все лекции на английском, вы ебанулись ?
Ему то надо SELECT * FROM, INSERT да ORDER BY и другие простые вещи, основы нужны, а не полный курс администратора баз данных.

Ниже кинул ссылки на лекции и БД.
Из минусов придётся развернуть у себя SQL Server, SSMS и раскатать бэкап учебной БД в нём, но это тоже опыт.
Возьми лекции отсюда, тут лекции по которым я когда то учился, для начального уровня тебе sql1_day1 хватит, а дальше уже по необходимости: https://drive.google.com/drive/folders/19_Kk8XuFL6esI_FnUmDYy-oMerJH2wYo?usp=sharing

Тут скачаешь учебную БД и инструкции по "установке", версию SSMS и БД лучше взять как в лекции, но можешь взять и всё новое, никто не осудит, а язык запросов в SQL не помню что бы менялся: https://docs.microsoft.com/ru-ru/sql/samples/adventureworks-install-configure?view=sql-server-ver15&tabs=ssms
Развернёшь и всё, можно начинать учиться.
LuckRuS LuckRuS 19.03.202204:05 ответить ссылка 0.1
Спасибо)
Можно еще поставить mysql workbench, он умеет визуально отображать таблицы и связи между ними. И еще MS Visio умеет так делать. Будет очень удобно, особенно на начальных этапах. Удачи!
Со своей стороны рекомендую эти ресурсы:

https://sql-academy.org/ru/guide тут прям основы основы. И небольшое количество задач.
https://schoolsw3.com/sql/sql_select_into.php здесь уже большее обширно с бОльшим количеством задач.

Ну и учебник: https://careers.epam.by/content/dam/epam/by/book_epam_by/database_book.pdf
"Работа с MYSQL, MS SQL SERVER и ORACLE в примерах. Как видно из названия тут сравнивается три вида баз. Смотришь примеры только на MYSQL остальное игноришь. НО тут просто сотни примеров и задачек ( часть с решением). Учебник сам по себе очень мощный в плане практики но и сложный. Начиная со второй трети уже мозг начинает кипеть.
Tank97 Tank97 19.03.202207:25 ответить ссылка 2.7
Записал
Ворвусь как и я со своими советами. Старайся изучать по максимуму стандарт SQL так как он реализован считай полностью в разных СУБД, это нужно для того чтобы освоить "костяк" того, что есть в других СУБД. Многие СУБД приносят свой дополнительный синтаксис для запросов и он может кардинально отличаться от одной, к другой и при переключении от одного поддиелаекта SQL к другому бывает тяжко. Еще для понимания того как все это работает хорошо бы выучить теорию множеств или основу, так как с помощью этого будет легче понимать сами механизмы работы и вручную "на листике" рисовать таблицы и делать из них запросы (с нами так в универе поступали) - это нагляднее покажет саму структуру БД.
SQL это хорошо. но не факт, как выше уже понаписали, что тебе дадут доступ к базе данных и работать с ней, хотя знать пригодится в любом случае

Я бы тебе посоветовал попробовать PowerQuery прям в Экселе. Оно может не хуже, а то и лучше, обрабатывать твои эксельные данные. Понравится, освоишься - переходи на Power BI для обработки и визуализации. Освоишься, понравится - вот тогда и строй подключения к серверам через SQL и ещё как, и тогда будешь тру-аналитик-паралитик

При этом самих SQL дофигища вариантов - и майкрософтовский, и постгрес, и оракл, и вертика, и майскл и все они по-разному живут, разному ворочаются и возможности разные, поэтому лучше именно основы понять и простить, а остальное тебе только практика подарит
Я не знаю откуда вот это вот "не дадут права на базу". Если человек собрался в область DB Development, Data Engineering, Data Analytics, Data Science, то во всех этих областях доступ к базам это основа. Не всегда это делается напрямую, может быть какая-то BI прокладка (OBIEE, Tableau, QlikView, MS PowerBI, Looker, Spotfire - тыщи их), но писать запросы это 90% работы на подобных должностях.

Если говорить про локальную базу, которую можно поставить для упражнения, то я ставил себе много чего и рекомендую MariaDB. Ставится минут за 5, в отличие от Ораклов и МС Сиквел Серверов и не пожирает память.

Если не хочешь засирать комп, а оперативки много - можно скачать Oracle DEV VM. На виртуалке сразу линукс + оракловая база, они очень часто требуются в паре на должностях, связанных с ДБ.

Лекций накидали выше кучу, пробуй что больше зайдёт. По своему опыту лучше непросто чтиво или лекции, а именно упражнения.
Еще советую начать свой локальный проект дома. Я так делал когда-то учет расходов, их категоризацию и прочее. Знакомый делал учет музыки и фильмов (когда это все еще хранилось локально). В общем, на что хватит фантазии.
Сколько я его не изучал, все не шло. Все только на свои места стало когда по работе нужно было делать запросы. Особенно на завтра. Мораль: заведи маленькую базу и придумывай себе задачи.
II-Kold II-Kold 19.03.202213:03 ответить ссылка 0.9
Как человек, который попал в IT через SQL без каких либо знаний по SQL дам пару советов:
Сначала ты должен разобраться что из себя представляют SELECT и INSERT.
Переходишь к ORDER BY и понимаешь, что эта операция жрёт дофига при работе с большим количеством записей, и переходишь к ознакомлению с фильтрации (DISTINCT/WHERE/OR/AND/BETWEEN/LIKE/IN).
На этом этапе у тебя появляется уже несколько рабочих таблиц и пришло время к знакомству с JOIN (все его вариации, в особенности CROSS JOIN и SELF JOIN).
Теперь твои запросы превращаются в сложно читабельную лапшу и желательно ознакомиться с CTE (common table expression).

На этом этапе забиваешь на рекурсивные запросы. Рано ещё.

Пришло время подзапросов и желательно знать/уметь использовать HAVING/GROUP BY/UNION/UNION ALL/EXISTS/.
Встретил в мануалах PIVOT? Шикарно, но теперь повтори PIVOT но только с использованием SUM/MIN/MAX.

Вот теперь можешь попробовать рекурсивные запросы.
Иисyc Иисyc 19.03.202213:48 ответить ссылка 0.3
Про Pivot уточнение. Вместо Pivot используй MIN/MAX.
Спасибо
Давно заметил что штудирование сухой теории в десять раз неэффективнее, чем практически пробовать создавать своими руками. Инструкциям "как что-то сделать" на собственном опыте наш мозг обучается в разы быстрее, чем теории в виде фактов, которые мы себе как-то представляем в виде сферического коня в вакууме. Это не значит что теория не нужна, но нужно практического представление и в идеале применение к задачам из работы или жизни.

Потому советую параллельно с обучением попробовать базовые вещи в Airtable. Там есть бесплатный ограниченный пакет, а дальше уже пакеты с продвинутыми возможностями. По виду сначала кажется что это как Google Sheets, только хуже, но с красивостями. Однако суть в том, что там, в отличие от рядов и столцов из ячеек, данные хранятся именно так, как в реляционной базе - таблица это группа записей, состоящих из полей определенного типа. Связи между таблицами там создаются визуальными способами, выгребание сложных запросов осуществляется довольно просто. Сортировка, группировка, сложные виды фильтров - все это очень просто и интуитивно понятно визуально. Проработав перед этим несколько лет MSSQL DBA, попутно сдав 4 экзамена в Microsoft на сертификат, я только уже в другой конторе, администрируя Airtable понял зачем использовать VIEWS в SQL
Теперь я не использую 70-80% знаний DBA, нет высоконагруженности, не нужно заниматься серверной частью и base maintenance, зато начал пописывать на js, может еще в девелоперы свичнусь на старости лет )) по деньгам оно даже поменьше будет, учитывая разницу уровней, но удовольствие от работы vs повинность - для меня этот фактор давно перевесил финансовый.
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
пидоры, помогите
-Ü
05
С
< КУПОН
НА 1 помощь , П9М9ГПТЕ!
ВПППАП1Е! ИШ9ШУЙТЕ ИУП91 ТОЛЬКО Bli ШШ КРАППЕ" ПЕ9БЙ9ДПМ9Ш!
МП 119: 7) ОКТЯБРЯ 291Г
подробнее»

пидоры помогите,реактор помоги it geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор sql подключение

, П9М9ГПТЕ! ВПППАП1Е! ИШ9ШУЙТЕ ИУП91 ТОЛЬКО Bli ШШ КРАППЕ" ПЕ9БЙ9ДПМ9Ш! МП 119: 7) ОКТЯБРЯ 291Г
Адрес портала	Логин		Пароль		Что размещено													
				f . . .	1													□
																		
2s2b.ru	leb€																	
all.biz	lebe																	
all.biz	bekt						‘											
all.biz	info Ей savr			EiUHL^														
all.biz						r												
avito.ru
подробнее»

реактор помоги sql песочница

Адрес портала Логин Пароль Что размещено f . . . 1 □ 2s2b.ru leb€ all.biz lebe all.biz bekt ‘ all.biz info Ей savr EiUHL^ all.biz r avito.ru