🔥Разбираем SQL на примере PostgreSQL - SELECT, JOIN, GROUP, HAVING, Coalesce и др.

Поділитися
Вставка
  • Опубліковано 19 тра 2024
  • Мой курс «Хардкорная веб-разработка» - course.to.digital
    Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: botanim.to.digital/
    Telegram: t0digital.t.me
    Сказать спасибо за это видео можно здесь - boosty.to/digitalize.team
    Изучаем классические реляционные базы данных и язык для работы с ними - SQL - на примере топовой открытой СУБД PostgreSQL. Если вас пугает JOIN, вы не понимаете GROUP BY, вас смущает вопрос отличия WHERE от HAVING - смотрите видео полностью и обязательно прорабатывайте все запросы вместе с нами! Мы создадим и изучим работу с базой данных для интернет-магазина, хранящую в себе товары, их фотографии, покупателей и их заказы.
    00:00 Зачем знать SQL и базы данных
    02:47 Виды баз данных
    03:28 Понятие сущностей, проектирование больших систем
    06:01 Сущности в реляционных базах данных
    06:50 Проектирование схемы БД магазина на бумаге
    10:27 Перенос схемы БД в PostgreSQL, создание БД и таблиц
    15:50 Заполняем БД данными
    17:40 SELECT, получение данных из БД
    19:03 JOIN, объединение таблиц
    23:25 LEFT JOIN, RIGHT JOIN, INNER JOIN
    26:57 Удаление данных их таблиц, обновление данных таблиц
    28:23 Пример комплексного запроса с несколькими JOIN
    32:31 Группировка данных GROUP BY
    34:11 COALESCE
    34:47 Сортировка данных, ORDER BY
    35:13 HAVING
    36:26 LIMIT, OFFSET
    38:09 Выводы, итоги
    Другие наши видео:
    * чем так крут Python - • Чем так крут Python - ...
    * обзор нововведений Python 3.8 - • Python 3.8 - офигенный...
    * издательская система Latex - • Основы LaTeX для тех, ...
    /****************** about ******************/
    Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
    - Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
    - Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
    Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
    С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
    Telegram канал - t.me/t0digital
    ВК - digitalize.team
    RuTube - rutube.ru/channel/24802975/ab...
    Дзен - dzen.ru/id/6235d32cb64df01e6e...

КОМЕНТАРІ • 1 тис.

  • @t0digital
    @t0digital  4 місяці тому +2

    Мой курс «Хардкорная веб-разработка» - course.to.digital
    Вжух!

  • @t0digital
    @t0digital  4 роки тому +438

    Как считаете, стоит ли такой контент делать? Материалов по SQL в целом в сети - мегатонны.
    Time codes:
    00:26 - зачем знать SQL и базы данных
    02:47 - виды баз данных
    03:28 - понятие сущностей, проектирование больших систем
    06:01 - сущности в реляционных базах данных
    06:50 - проектирование схемы БД магазина на бумаге
    10:27 - перенос схемы БД в PostgreSQL, создание БД и таблиц
    15:50 - заполняем БД данными
    17:40 - SELECT, получение данных из БД
    19:03 - JOIN, объединение таблиц
    23:25 - LEFT JOIN, RIGHT JOIN, INNER JOIN
    26:57 - удаление данных их таблиц, обновление данных таблиц
    28:23 - пример комплексного запроса с несколькими JOIN
    32:31 - группировка данных GROUP BY
    34:11 - COALESCE
    34:47 - сортировка данных, ORDER BY
    35:13 - HAVING
    36:26 - LIMIT, OFFSET
    38:09 - итоги

    • @ioannhide3355
      @ioannhide3355 4 роки тому +25

      нужно видео как связать БД и сайт ) как все настроить. Как создать, что такое реляционные БД уже куча видео. Теорией уже наелись все )

    • @senatortre7326
      @senatortre7326 4 роки тому +1

      Вопросы.
      1 Под видео с разворотом сервера были инструкции, можно так же по sql?
      2 Начал изучать анализ данных, могут ли нумпай с пандасом + стандартные в питоне модули для работы с данными стать альтернативой sql запросов и штук типо постгри и мускула?
      2.1 Например, отправляю к вам резюме, там будут эти библиотеки, но не будет знаний по sql, что бы на это ответили?))
      3 (*если 2.1 вариант не проканает xD) Книги по sql? Статьи, мануалы...

    • @t0digital
      @t0digital  4 роки тому +5

      ​@@senatortre7326 1. Нет, SQL код из этого видео не сохранял специально - вам надо его набрать, если хотите проработать SQL
      2. Анализ данных - нужен и SQL, и пандас, и много всего еще
      2.1. Нам анализ данных сейчас не нужен - и специалистов в команде по этой теме тоже нет.
      3. Выберите нужную вам СУБД и прокачивайте её SQL, базовый он везде одинаковый, но чуть глубже - особенностей много.

    • @senatortre7326
      @senatortre7326 4 роки тому +5

      Диджитализируй! АйТи студия Спасибо за ответ. Тогда ответ на вопрос «нужен ли такой контент» - однозначно да! Подача очень крутая, а тема не из простых, поэтому лучше буду ждать и учить по вашим урокам, чем по материалам которые уже есть.. те же лекции российских разрабов постгри в ютубе много тяжелее воспринимаются. Ждём продолжения! Успехов. :)

    • @t0digital
      @t0digital  4 роки тому +2

      @@senatortre7326 Спасибо!

  • @OleksandrPohribnyi
    @OleksandrPohribnyi 3 роки тому +248

    Я лучше урока по SQL не видел нигде, это очень круто!

    • @t0digital
      @t0digital  3 роки тому +8

      Спасибо большое!

    • @kevart9645
      @kevart9645 3 роки тому +1

      @@user-wp2ek8mx3c а вы это к чему написали, стесняюсь спросить?
      Книга - сухой материал, видео - наглядный пример с применением "своими словами", далее - "самопрактика".
      Чему вы сочувствуете?

    • @vladislav2819
      @vladislav2819 2 роки тому

      @@manOfPlanetEarth Ни кому не пожелаю такого, прежде чем писать подобного рода комментарии - переосмыслите свою жизнь

  • @b-o-t-l-y
    @b-o-t-l-y 4 роки тому +20

    40 нескучных и полезных минут. Отличный формат подачи!!! Не пожалел.

  • @alexfish289
    @alexfish289 4 роки тому +228

    Отличный разбор. По БД хочу еще больше контента.

    • @t0digital
      @t0digital  4 роки тому +16

      Возможно будут :) посмотрим, как этот материал зайдёт

    • @MAIVSHOW
      @MAIVSHOW 4 роки тому +2

      @Watson Holms 2000-2500тыс? нет. при условии, что на канале уже 10к. Обидно-обидно за наше сообщество которому нравится пользоваться денератроном.

    • @user-eq8vb7wu8n
      @user-eq8vb7wu8n 4 роки тому +18

      Берешь книгу Дейта «Введение в теорию реляционных БД» - здесь все, что нужно, чтобы построить любую БД. Что касается специализированных БД - Ральф Кимболл, Билл Инмон. Дэн Линстедт. Анатолий Тенцер. Этого достаточно для 99.9% случаев информационных систем.

    • @alexfish289
      @alexfish289 4 роки тому +2

      @@user-eq8vb7wu8n благодарю за наводку. Обязательно изучу.

    • @anggman
      @anggman 4 роки тому

      Очень понравилось! Жду продолжения. В своё время разбирал достаточно подробно T-SQL, но нашел для себя тоже много интересного в этом видео

  • @user-or7ne2fb6o
    @user-or7ne2fb6o 4 роки тому +8

    Спасибо добрый человек 😊
    Виртуальные обнимашки тебе 🤗

  • @EugenNiedaszkowski
    @EugenNiedaszkowski 3 роки тому +229

    Я очень благодарен Алексею за его образовательную деятельность и это видео, но подозреваю, что базы данных не являются его основной специализацией. Хочу поправить некоторые вещи.
    Эдгар Кодд назвал реляционные базы данных реляционными из-за присутствия в них так называемых реляций, простым языком - таблиц. Т.е. реляционная база данных - это табличная база данных. Даже если связей между таблицами нет, или таблица всего одна - это реляционная база данных. Хотя вынужден признать, что вне акедемических кругов такое заблуждение довольно распространено.
    Диаграмма базы данных (db-diagram) и диаграмма сущностей и отношений (ER-diagram) - это похожие, но очень разные вещи. К примеру, промежуточной таблицы cart_product, которую нарисовал Алексей на ERD не будет, она реализует соединение многие ко многим. То, что мы види на картинке ближе по смыслу как раз к диаграмме базы данных, хотя на ней и не хватает многих ключевых вещей. Но для простой иллюстрации, конечно же, сгодится.
    Уникальный идентификатор - это несколько двусмысленная вещь. Обычно под уникальным идентификаторм подразумевается ограничение (constraint) в структуре базы данных. Их, в отличии от первичного ключа (primary key), может быть несколько в таблице. Они просто говорят о том, что значение в колонке или комбинация значений по колонкам должна быть не повторяющейся. ID же в нашем случае - это искуственная колонка, созданая сугубо для добавления первичного ключа, который позволит идентифицировать конкретную строчку в таблице. Однако эту колонку вполне можно использовать и для бизнес-целей. К примеру, это будет номер нашего заказа. А вот покупателю абсолютно всё равно какой у него номер в системе, он его нигде не видит. Т.е. у сущности пользователя такого свойства как ID не будет, это артефакт сугубо уровня базы данных.
    То что в видео названо полем, на самом деле называют атрибутом. В простонародье - колонка. Иногда встречается и "поле", но чаще всего под полем подразумевают пересечение колонки и строчки, т.е. конкретную ячейку таблицы. На стороне пользовательского интерфейса мы тоже видим "поля" - ячейки ввода, которые зачастую соответствуют ячейкам в строчке таблицы базы данных.
    Благодарю за внимание и желаю всем успешного обучения!

    • @nadejdat4969
      @nadejdat4969 2 роки тому +9

      Толковый комментарий + каналу! Спасибо, за обращение внимание на нюансы!!!

    • @user-ss4gz8xk9h
      @user-ss4gz8xk9h 2 роки тому +3

      А можно ссылку на источник, в котором написано, что бд называется реляционной именно из-за того, что она табличная, а не потому, что между таблицами в этих бд можно создавать связи?

    • @india23061974
      @india23061974 2 роки тому +5

      @@user-ss4gz8xk9h может, это поможет найти более точную информацию © Работа Кодда дает точное, математическое определение реляционной базы данных, а также теоретический фундамент для операций, которые могут быть вы­полнены над ней. Однако более полезно следующее неформальное определение реляционной базы данных.
      Определение. Реляционной называется база данных, в которой все данные, доступные пользо­вателю, организованы в виде таблиц, а все операции базы данных выполняются над этими таблицами

    • @EugenNiedaszkowski
      @EugenNiedaszkowski 2 роки тому +8

      @@user-ss4gz8xk9h да, конечно:
      en.wikipedia.org/wiki/Relational_database
      en.wikipedia.org/wiki/Relation_(database)
      Так как термин придумал один человек, а именно Эдгар Кодд, то тут всё довольно просто. Некая неразбериха в русскоязычной среде возникла именно из-за "трудностей перевода".

    • @user-ss4gz8xk9h
      @user-ss4gz8xk9h 2 роки тому +2

      @@EugenNiedaszkowski спасибо большое

  • @stas_v
    @stas_v Рік тому +2

    Это именно то что мне было нужно для старта. Дает понимания больше чем некоторые курсы по sql на известных площадках. Спасибо!

  • @user-mg7ns1rt7l
    @user-mg7ns1rt7l 3 роки тому +2

    Вообще огонь! Наконец-то я понял что такое, left right и inner join. Спасибо!

  • @Oleksii_Leshchenko
    @Oleksii_Leshchenko 4 роки тому +10

    Спасибо за отличное видео и понятное изложение

  • @user-zd4pr5gm4q
    @user-zd4pr5gm4q 4 роки тому +31

    40 минут годноты, спасибо за контент!

  • @tatianaghafina627
    @tatianaghafina627 3 роки тому

    Полезно и знакомо! Спасибо Вам! Столько времени разбирала и только сейчас начинаю диджитализироваться.. Огромное всем спасибо.

  • @user-gz6vj8kz9g
    @user-gz6vj8kz9g 2 роки тому +1

    Всегда хотел больше разобраться в SQL. Самый понятный для меня урок по JOIN в SQL. Спасибо

  • @daredevil8999
    @daredevil8999 4 роки тому +79

    Спасибо тебе, добрый человек!! У тебя очень крутые и ценные видосы. По постгресу можно еще :))) мне понравилось!

    • @t0digital
      @t0digital  4 роки тому +4

      Спасибо!

    • @catsapp
      @catsapp 3 роки тому +1

      а постгрес луче чем майсикуэл?

  • @colonizatorgg5960
    @colonizatorgg5960 4 роки тому +20

    Четко и ясно, было бы интересно глянуть видосик по фишками постгреса

    • @t0digital
      @t0digital  4 роки тому +5

      возможно сделаем. Спасибо!

  • @alexeysytnikov2529
    @alexeysytnikov2529 3 роки тому

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

  • @chestermorou1367
    @chestermorou1367 3 роки тому

    Однозначно бомба.
    Материал подан очень грамотно.
    Слушать и практиковать легко.
    Спасибо автору.

  • @pavloshevchuk8931
    @pavloshevchuk8931 3 роки тому +3

    Нормальный рабочий почерк. Главное, что всё понятно.

  • @limonred5283
    @limonred5283 4 роки тому +15

    Как раз готовлюсь к dba. Прям в яблочко. И вообще пора в школе давать такие вещи, мужики по 30 лет ковыряют запросы к базе. Стыдно, но другого пути нет - надо наверстывать.
    Спасибо за годноту!

    • @t0digital
      @t0digital  4 роки тому

      Спасибо! Я тоже думаю, что это должно быть в школе. SQL даже в экселе есть встроенный :)

    • @MrRoostick
      @MrRoostick 3 роки тому +1

      ничего стыдного, если не sql в школе, то мы в этом не виноваты))

  • @stan5214
    @stan5214 4 роки тому

    Очень сжатое и внятное объяснение операций, удобное видео 🙂

  • @user-bk4ko3tn6e
    @user-bk4ko3tn6e 2 роки тому

    Замечательное объяснение! Несмотря на то, что всего много, информация понимается интуитивно! Спасибки

  • @vangog63
    @vangog63 4 роки тому +4

    Спасибо! Отличное видео! Можно еще подробнее рассказать про типы и индексы в таблицах? Таблицы для select’a и для insert’a.

  • @alext.4131
    @alext.4131 4 роки тому +162

    Все:
    я в 2019: ем салат
    я в 2020: в салате какие-то сущности

    • @t0digital
      @t0digital  4 роки тому +2

      Хахаах:)

    • @Kascheybiker
      @Kascheybiker 4 роки тому +3

      Главное - не гномики.

    • @justkrybik
      @justkrybik 4 роки тому +2

      @@Kascheybiker если-что мы их почистиим))

    • @user-qv3pg1ew4g
      @user-qv3pg1ew4g 3 роки тому

      Ырырырыррыры

    • @Dyadya_Sasha
      @Dyadya_Sasha 3 роки тому

      В 2021 сущности в виде гномика

  • @UnitedIngvar
    @UnitedIngvar 2 роки тому +1

    За 40 минут закрепил свои базовые знания по SQL
    Спасибо!

  • @Tehhie
    @Tehhie 3 роки тому +1

    Огромное спасибо за отличное видео! Все замечательно разложено по полочкам!

  • @ne_psixyu
    @ne_psixyu 4 роки тому +4

    Могу сказать три вещи: 1. Очень крутой канал! 2. Топовый преподаватель! Мегаполезный контент!!!
    Жаль, что нашел этот канал не по трендам utube или рекомендациям, а случайно обратил внимание на комментарий самого автора, написанный под одним из видео на канале ITборода.
    Спасибо за то, что делитесь с нами своими знаниями!!! Пожалуйста, продолжайте в том же духе ;)
    #Топлю_ За_ Python ))

  • @xezard6534
    @xezard6534 3 роки тому +3

    Потрясающее видео, очень грамотно поставленная речь, крайне приятно было слушать. Спасибо)

  • @vitalyburyak
    @vitalyburyak 3 роки тому

    Спасибо! Очень классный материал!
    Очень хотелось бы ещё разобраться с выборками и сортировкой по дате.

  • @54INT
    @54INT 10 місяців тому

    Отличный материал чтобы освежить память и вспомнить основы SQL, спасибо!

  • @nkhitrov
    @nkhitrov 4 роки тому +7

    как всегда хорошее видео, приятно смотреть, но не очень понравился момент с джоинами. часто объясняют их на кругах эйлера, но под капотом оно все же не так работает, и некоторые особо щепитильные лиды ловят на такого рода ошибках (в вузах на экзаменах по дискре и бд кстати тоже на этом ловят).
    Правильнее, на мой взгляд, все таки объяснять на декартовом произведении, как оно и работает, просто с оговоркой, что если джоин обрабатывается по первичным ключам, тогда можно представлять через круги эйлера.
    Но видео все равно годное, жду следующего видео)
    В целом таких материалов действительно много, но они все про основы. Хотелось бы увидеть больше видео по различным хакам, фишкам и т.п. вещам (собстно за это и нравится канал)
    Ну и ссылка на статью с примерами, кому интересно:
    habr.com/ru/post/448072/

  • @sergratkevich1850
    @sergratkevich1850 4 роки тому +7

    Большое спасибо, про Mongo DB что нибудь подобное было бы круто сделать))

  • @user-to2iu2rx6f
    @user-to2iu2rx6f 2 роки тому

    Большое спасибо, сжато, без воды, и все понятно

  • @sergeiarhipenko872
    @sergeiarhipenko872 3 роки тому

    Кратко, ясно, информативно! Дикция - это что-то из неописуемого! Спасибо большое!!!

    • @t0digital
      @t0digital  3 роки тому

      Спасибо! Рад, что понравилось:)

  • @simonporot5089
    @simonporot5089 3 роки тому +9

    Было бы прикольно серию уроков по построению и понятию сущностей, связей (более детальней)

    • @meosaganami5472
      @meosaganami5472 2 роки тому

      Нет в РСУБД ни сущностей, ни связей

  • @yodapunishes
    @yodapunishes 4 роки тому +5

    Потрясающий подгон к собеседованию!!!

  • @vladislav3105
    @vladislav3105 2 роки тому

    Гениальное объяснение. Спасибо вам большое)
    Прояснил наконец-то джоины 👍

  • @user-nx7ui4tk8j
    @user-nx7ui4tk8j 3 роки тому

    Спасибо, обновил свои знания. Очень все чётко и понятно

  • @a2a4rrooman
    @a2a4rrooman 2 роки тому +16

    Возможно ошибка - на 33:56 вместо "group by c.name" должно быть "group by c.id" . А в твоем запросе ты получишь сумму всех Василиев, а имена могут повторяться у юзеров.

    • @meosaganami5472
      @meosaganami5472 2 роки тому

      больше скажу - у них у всех вообще может не быть имён и всего остального кроме id, но автора такие мелочи не смущают.

    • @standarttechnology4477
      @standarttechnology4477 Рік тому

      @@meosaganami5472 интересно, поле не было указано not null? Или почему их может не быть?

    • @meosaganami5472
      @meosaganami5472 Рік тому

      @@standarttechnology4477 всё верно, не было указано
      З.Ы.
      как же это круто, наверное - сидеть на маке и долбиться в глаза в консоли, самому и зрителям массу впечатлений гарантируя

  • @nikolayharlamov7990
    @nikolayharlamov7990 4 роки тому +7

    relation это про отношение из теории множеств

  • @agirbova
    @agirbova 4 роки тому +2

    Добрый день, спасибо за видео. Вы очень доходчиво, доступно, понятно объясняете. Подача материала на высоте. Буду ждать Ваших следующих видео. Продолжайте, пожалуйста.. Удачи Вам.

    • @t0digital
      @t0digital  4 роки тому

      Будем продолжать обязательно. Спасибооо!

  • @user-hs7jm3nc2e
    @user-hs7jm3nc2e 3 роки тому

    Спасибо за отличное объяснение. Очень наглядно и доходчиво.

  • @postal134
    @postal134 4 роки тому +124

    Спасибо за отличное видео, но есть один минус. на 19 минуте вы объясняете джоины с использованием алиаса не задумываясь о том, что эту конструкцию люди могут не понимать select pp.* from product_photo pp; Я, например, не сразу понял, что значит тут "pp." ? оказывается, что "pp." , "product_photo.*" и "*" эквивалентны

    • @anatoliigrynchuk3325
      @anatoliigrynchuk3325 3 роки тому +4

      использование алиасов типа pp считаю не очень хорошим подходом....

    • @Slashh
      @Slashh 3 роки тому +4

      product_photo и "*", не эквиваленты. * - это all

    • @user-wm5kp9fy4n
      @user-wm5kp9fy4n 3 роки тому +2

      @@anatoliigrynchuk3325 абсолютно адекватный подход. Кайф всегда полные названия таблиц писать?

    • @anatoliigrynchuk3325
      @anatoliigrynchuk3325 3 роки тому +10

      @@user-wm5kp9fy4n Не кайф читать потом всякие рр в сложных запросах. А что бы не писать полные названия таблиц - для этого есть интелисенс, но для этого нужно инструмент нормальный использовать. Вы в C# тоже используете в качестве названия индентификаторов всяки рр, пп.... и тому подобное?

    • @etonecheg2401
      @etonecheg2401 3 роки тому +2

      @@anatoliigrynchuk3325 Как вы обойдётесь без алиасов, если обращаетесь к одной и той же таблице в запросе больше одного раза?
      Я имею ввиду ситуацию, когда вам нужно написать from table_name в одном подзапросе, и from table_name в другом подзапросе.

  • @andreymlv
    @andreymlv 3 роки тому +4

    хотелось бы узнать про книжечки. что посоветуешь по базам данных?

  • @user-ig9lk9bu9e
    @user-ig9lk9bu9e 3 роки тому

    Всё грамотно и подробно объяснено! Большое спасибо автору!

  • @user-qp2ot1mg9i
    @user-qp2ot1mg9i 2 роки тому +1

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

    • @t0digital
      @t0digital  2 роки тому

      Спасибо! Рад, что полезно!

  • @user-bf2iw8id4v
    @user-bf2iw8id4v 4 роки тому +4

    жаль что узнавая про форенкей мы не узнали про бэкрефы)) а вообще есть такая беда у ру сегмента обучающих видео, основы рассказывают многие, а потом запал пропадает и бросают ролики пилить. Как итог куча видосов про основы и ни одного русскоязычного полного курса. Надеюсь вы когда-нибудь запилите мегаобучалку по sqlalchemy "От основ до магии". Спасибо за видосы.

    • @t0digital
      @t0digital  4 роки тому

      backref это же ORM'ная концепция, на уровне БД / SQL там обычный Foreign key, соединяющий 2 таблицы. Я вообще, стоит сказать, не очень люблю ORM для сложных запросов, голый SQL даёт понимание того, как запрос будет работать с точки зрения эффективности, ORM далеко не всегда

    • @user-bf2iw8id4v
      @user-bf2iw8id4v 4 роки тому

      @@t0digital зато ормом один раз в приложении пишем все запросы, а потом подрубаем любую субд которую поддерживает данный орм. А чистые запросы превратятся в серьёзною боль если тот же проект решат запустить не на мускуле а на посгре. В любом случае орм это только инструмент придуманный для решения конкретных задач. его не везде пихать нужно, но и он где то будет лучше row sql

    • @t0digital
      @t0digital  4 роки тому +2

      @@user-bf2iw8id4v безболезненный переезд на новую БД это утопия что с ORM, что без него, ну, разве что проект совсем крошечный. Для крошечного и обычный сырой SQL будет вполне переносим, все современные СУБД реализуют базовые операции select, delete, update и delete одинаково. А если используем что-то чуть глубже из возможностей субд, то тут начинается свистопляска, ORM не спасёт. ORM не плох, просто, вы правильно говорите, не надо его использовать везде, там, где нужна max эффективность сырой SQL рулит, там уже не до переносимости SQL/ORM, там вопрос быстрее под нагрузкой данные из БД достать, заюзав все её кастомные фичи и особенности на максимум:)

  • @nmi2939
    @nmi2939 4 роки тому +23

    Лайк неглядя!

  • @Vjidowkdkcpapqkfjfw
    @Vjidowkdkcpapqkfjfw Рік тому

    Спасибо большое! Как всегда топ! Отдельное спасибо за отличия left и right join. Хотелось бы увидеть материал по нормализации, денормализации БД.

  • @bekbolottemirkulov2984
    @bekbolottemirkulov2984 3 роки тому

    Просто лучший! Отличный разбор БД. Хочу еще больше контента!

  • @Vivavatnik
    @Vivavatnik 3 роки тому +12

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

    • @user-se3nz9nn8e
      @user-se3nz9nn8e 3 роки тому +5

      Согласна, новичок вообще не поймет и сбежит нафиг..

  • @736939
    @736939 4 роки тому +16

    Плиз Туториалы по Джанго и Фласку! ТОЛЬКО ОТ ВАС (другие ссылки не катят) :)

    • @t0digital
      @t0digital  4 роки тому +4

      Спасибо:) Возможно сделаем!

  • @pro100denchik
    @pro100denchik 2 роки тому

    Кратко. Ясно. Лаконично. Спасибо за хороший материал.

  • @coolemator
    @coolemator 2 роки тому

    Просто взял и объяснил то что я не мог понять. Спасибо.

  • @bolatmukashev2830
    @bolatmukashev2830 2 роки тому +12

    Слишком сложно. Давай 10 часовую версию с детальным разбором каждого метода)

    • @banzaika
      @banzaika Рік тому +2

      Сначала нужно чуть чуть почитать книгу, одну главу и влезть в тему

    • @kloynism
      @kloynism 7 місяців тому

      какую книгу?@@banzaika

    • @banzaika
      @banzaika 7 місяців тому

      @@kloynism советую Моргунова

  • @user-zj1qk2fx4p
    @user-zj1qk2fx4p 3 роки тому +11

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

  • @iurii.anfinogenov
    @iurii.anfinogenov 4 роки тому +1

    Все супер, продолжайте в том же духе, многие вам благодарны!

    • @t0digital
      @t0digital  4 роки тому

      Спасибо! Будем продолжать!

  • @ManDay220
    @ManDay220 3 роки тому

    Классно! Благодаря твоему видосу устроился на работу в IT компанию))

  • @obehobeh9984
    @obehobeh9984 4 роки тому +3

    2:47 "...есть два больших семейства... реляционные... и, так называемые NoSQL базы данных"
    Скажу по секрету, есть еще и прочие базы данных, кроме реляционных и NoSQL
    Иерархическая
    Объектная и объектно-ориентированная
    Объектно-реляционная
    Сетевая
    Функциональная
    и т.д.
    Если идет работа с Python, то можно вместо понятий "сущность"(таблица) и проч., говорить, что это класс и есть его свойства(поля), а также методы(функции) работы с ними, и т.д., и т.п.
    Это я, так сказать, начал разбирать, по ходу изучения ЯП Python. Помогает немного въехать в язык.

    • @t0digital
      @t0digital  4 роки тому

      Не надо говорить "вместо". Sql не имеет отношения к питону, это разные технологии, которые могут быть использованы вместе, но могут и не быть.

    • @obehobeh9984
      @obehobeh9984 4 роки тому

      @@t0digital Я имел ввиду использование/изучение языка Python вообще, а не технологию баз данных. Так вот, по моему, при изучении языка Python(или какого-либо другого языка программирования), очень полезно проводить параллели между "сущность" и "таблица" в базе и т.д.

  • @sriyaputra
    @sriyaputra 4 роки тому +5

    Дружище, это просто охуенно!

  • @user-jr9cj6cf8w
    @user-jr9cj6cf8w 3 роки тому +2

    Досмотрел и изученное ранее чётко уложилось в голове))
    Очень хорошо объяснил. Спасибо огромное. Прям приятно)

    • @t0digital
      @t0digital  3 роки тому

      Рад, что полезно!

  • @krgr1449
    @krgr1449 3 роки тому

    круто, без воды всё 👍 спасибо!

  • @boriskulagin6582
    @boriskulagin6582 3 роки тому +6

    Алексей, расскажите какая ручка у вас в кадре? Перьевая или это гибрид =)

    • @user-fs9gp6oz8x
      @user-fs9gp6oz8x 3 роки тому +2

      Тоже хочу узнать про ручку:)

    • @QuAzI_NODE
      @QuAzI_NODE 3 роки тому

      Присоединяюсь к опросу. А то что-то с двумя последними мне не везло и они дико мазали и текли

    • @youmeek
      @youmeek 3 роки тому

      Если интересно, он ответил ниже: Lamy Safari перьевая )

    • @peskovdev
      @peskovdev Рік тому

      Тоже присоединяюсь к опросу. Какая ручка, Алексей?

  • @Mike-mc5ll
    @Mike-mc5ll 3 роки тому +3

    Спасибо за "эскюэль", а не всякие режущие ухо "сиквелы".

  • @user-cq4ui2tc9z
    @user-cq4ui2tc9z 3 роки тому

    Урок-огонь! Огромное спасибо автору! Подписываюсь и смотрю дальше.

    • @t0digital
      @t0digital  3 роки тому

      Спасибо, рад, что нравится:)!

  • @sevashpun
    @sevashpun 3 роки тому

    Спасибо большое! Очень хорошо и доступно объясняешь :)

  • @egorpetrov6652
    @egorpetrov6652 4 роки тому +6

    Спасибо за видео. Польза, наверное, есть, но все как-то «галопом по Европе». Взять тот же join. Всё разъяснили. Но когда таких джоинов в запросе стало два, затем три, как новичку понять какая таблица теперь левая для каждого нового джоина? Самая левая или та, что левее оператора? Или это уже относится к предвыборке? Я не понял. Пробовать различные выборки самому можно и нужно, чтобы понять логику. Но это как изучение «чёрного ящика». И именно здесь обязательны (желательны) разъяснения специалиста как работают операторы, чтобы навести порядок в голове учеников. Это хорошо было проделано с операторами where и having. И ещё, печатайте текст чуть помедленнее, но без ошибок. Раздражает это постоянное перепечатывание.

  • @lokampsokolov
    @lokampsokolov 4 роки тому +4

    Расскажи, если не трудно про алиасы в твоем примере, не совсем понятно.

    • @t0digital
      @t0digital  4 роки тому +7

      обычно алиас в запросе это просто сокращенное название таблицы, чтобы ссылаться на её колонки через точку не с полным названием таблицы, а с сокращённым алиасом.
      Напр:
      select users.id, emails.email from users left join emails on users.id=emails.user_id;
      можно заменить на:
      select u.id, e.email from users u left join emails e on users.id=emails.user_id;
      или:
      select u.id, e.email from users as u left join emails as e on users.id=emails.user_id;

    • @lokampsokolov
      @lokampsokolov 4 роки тому +1

      @@t0digital спасибо, теперь все понятно )

  • @konstantin9888
    @konstantin9888 4 роки тому +1

    Да, интересно было бы про постгрес ещё видео. Про кэширование и про масштабирование послушать

  • @user-iu5vc6um4o
    @user-iu5vc6um4o 3 роки тому

    Спасибо большое, вышел действительно очень полезный урок!

  • @grittyzavr
    @grittyzavr 4 роки тому +5

    Будешь как-то освещать ситуацию с nginx?

    • @t0digital
      @t0digital  4 роки тому +14

      Я не смог разобраться в этой теме настолько, чтобы понять, откуда там в действительности ноги растут и куда это движется, поэтому не хочу комментировать, просто снимая хайп на теме. То, что мы видим - это отвратительно, но это верхушка айсберга.

  • @vkulpinov
    @vkulpinov 4 роки тому +50

    Спасибо за работу, однако подача материала явно не для новичка в sql, многие понятия объяснены на уровне "ну вы наверное слышали про страшный join, ну ничего, сейчас мы напишем код без каких-то понятных комментариев о том, как это работает, и вы сразу должны все понять"

    • @t0digital
      @t0digital  4 роки тому +12

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

    • @onaker
      @onaker 4 роки тому +1

      @@t0digital Так про суть JOIN'а понятно, а про структуру запроса вообще нет.

    • @t0digital
      @t0digital  4 роки тому +2

      @@onaker сформулируйте вопрос - я отвечу

    • @onaker
      @onaker 4 роки тому +9

      @@t0digital Пытаюсь сформулировать - если бы еще немного рассказали про Alias и его использование, было бы вообще космос. А то про него упомянули при создании запроса, и поехали дальше делать запросы и я если честно, на этом моменте немного выпал из струи, хотя в целом видео смотрел в ускоренном формате.

    • @t0digital
      @t0digital  4 роки тому +21

      @@onaker alias это просто сокращенная версия названия таблицы или колонки, это никак не относится к join. Название таблиц бывает длинным, чтобы его везде в запросе не писать, используют алиас. Напр, select t.name from some_strange_mother_fuckers t;
      Это выберет колонку name из этой таблицы с длинным названием. Аналогично алиас можно задать подзапросу

  • @user-do4nq3fr6t
    @user-do4nq3fr6t 3 роки тому

    Очень интересно, прям на пальцах объясняете! А то бишь доходчево!

  • @P7Vagrant
    @P7Vagrant 4 роки тому

    Ты крут!))) Спасибо большое за видео! Было очень полезно и главное наглядно. Менее чем за час узнал столько информации сколько за год работы с бд не мог понять, а ведь всего-то нужно настроить консоль и по работать с ней пару часов, денька три. Было бы круто посмотреть на NoSQL в таком же формате.

  • @toster8240
    @toster8240 4 роки тому

    Смотрю с удовольствием! Отлично всё по полочкам получилось разложено, а с тайм кодом можно продуктивно пересматривать ;-)

    • @t0digital
      @t0digital  4 роки тому +1

      Спасибо!

    • @toster8240
      @toster8240 4 роки тому

      @@t0digital Правду всегда говорить легко и приятно ;-)

  • @8511a
    @8511a 4 роки тому

    настолько ёмко еще нигде не видел!! очень классно, нравится канал

    • @t0digital
      @t0digital  4 роки тому

      Спасибо, приятно! Будем продолжать

  • @user-bg5fd7iy5x
    @user-bg5fd7iy5x 4 роки тому

    Спасибо! Приятно Вас слушать. Все доступно для новичка.

  • @johnbiglov7198
    @johnbiglov7198 2 роки тому

    Недавно увлёкся программированием, в интернете куча информации, но настолько качественное "обучение/разъяснение" встретил впервые, реально понял основы и как с этим работать вообще!!! Спасибо!

  • @alekseykonotop1745
    @alekseykonotop1745 4 роки тому +1

    Алексей, спасибо за отличный скринкаст с разбором основ PostgreSQL.

    • @t0digital
      @t0digital  4 роки тому

      Рад, что полезно!

  • @annazhydko2459
    @annazhydko2459 4 роки тому

    Очень круто! Спасибо Вам большое

  • @user-is9fv5bi7x
    @user-is9fv5bi7x Рік тому

    Очень вам благодарен за такой полезный канал.

  • @deadkamik
    @deadkamik 3 роки тому

    Спасибо. Очень легко слушать и переваривать информацию.

    • @t0digital
      @t0digital  3 роки тому

      Спасибо за отзыв, рад, что полезно!

  • @user-mz5rj4gc8v
    @user-mz5rj4gc8v 2 роки тому

    Спасибо! Помог разобраться! Очень благодарен, круто и понятно объяснил)

  • @MrAlexMonk
    @MrAlexMonk 3 роки тому

    посмотрел на одном дыхании буквально
    подача топ!
    спасибо что есть разъясняющие ролики как у вас!

    • @t0digital
      @t0digital  3 роки тому

      Отлично, рад, что полезно!

  • @user-or5tf2dp3n
    @user-or5tf2dp3n Рік тому

    Большое спасибо! Много важной информации на примерах.

    • @t0digital
      @t0digital  Рік тому

      Рад, что полезно!

  • @magmarise8095
    @magmarise8095 4 роки тому

    Как раз искал видео по этой теме и тут твоё видео😉
    Спасибо за видео ! Очень помог!

  • @user-fs9gp6oz8x
    @user-fs9gp6oz8x 3 роки тому

    Отличный материал! Конечно же стоит! (ответ на вопрос про контент). Очень круто объясняете! И хочется побольше от вас видео про SQL.

  • @Dm-erofeev
    @Dm-erofeev Рік тому

    Алексей, СПАСИБО! Отличное видео!!

  • @user-zy6fx6yi4v
    @user-zy6fx6yi4v 2 роки тому

    Очень познавательно и довольно просто. Спасибо большое!

  • @alekseigori2860
    @alekseigori2860 2 роки тому

    Спасибо, очень хорошо зашло.На одном дыхании и hands-on! Ну очеень доходчиво:)

  • @shazplay8878
    @shazplay8878 3 роки тому +1

    Офигенный туториал! Автор отличный учитель 👍❤️

  • @Art-ub1sg
    @Art-ub1sg 4 роки тому

    Спасибо, очень интересна работа с БД, продолжайте данную тему.

    • @t0digital
      @t0digital  4 роки тому +1

      Спасибо, ещё будут видео на эту тему

  • @denefty5189
    @denefty5189 4 роки тому

    Классный контент у Вас! Очень мне помогает вникать в ИТ! Успехов и желания для продолжения блога!

    • @t0digital
      @t0digital  4 роки тому

      Спасибооо🙏

  • @evgeniymishchenko5107
    @evgeniymishchenko5107 3 роки тому +1

    Это было супер полезно. Видео хоть и на 40 мин, но смотрится на одном дыхании, т.к. информация и подача великолепна.

    • @t0digital
      @t0digital  3 роки тому

      Спасибо, приятно слышать!

  • @alexxello8502
    @alexxello8502 4 роки тому

    До слёз! Давай еще! Рви душу

  • @probro-cw9rt
    @probro-cw9rt Рік тому

    Большое спасибо за урок! Всё было подано максимально информативно и на самом понятном примере (говоря о реализации бд для сайта продаж). Python учу для себя пробуя разные направления, и получилось так, что в сторону аналитики стартовал с pandas. Это помогло с ходу разобраться во всех сложных запросах, т.к. в самом pandas есть точно такие же методы. Что-то реализовано проще, а что-то сложнее, именно в плане синтаксиса. Теперь очень интересно будет посмотреть на остальные инструменты PostgreSQL.

  • @sergiomarsh9067
    @sergiomarsh9067 3 роки тому

    Спасибо за урок, очень полезно!

  • @denissavast
    @denissavast 3 роки тому +1

    Пересматриваю не один раз, очень интересно !!! Снимите пожалуйста тему ещё про Postgresgl

    • @MsDima9999
      @MsDima9999 3 роки тому

      так просто еще раз пересмотри))))

  • @apanchuk
    @apanchuk 3 роки тому

    Отличный материал, спасибо!)

  • @Someoneisdoingsomething
    @Someoneisdoingsomething 3 роки тому

    очень наглядные примеры, спасибо

  • @gametobe8790
    @gametobe8790 2 роки тому +1

    Очень крутое видео, я бы сказал лучшее! что я смотрел по SQL. Автору большое спасибо 😎.