SQL. 15. Еще фишки и подзапросы

Поделиться
HTML-код
  • Опубликовано: 11 сен 2024
  • 15 урок курса по SQL - языку программирования для оперирования реляционными базами данных.
    В этом уроке вы научитесь создавать выводы из нескольких связанных таблиц.

Комментарии • 38

  • @GMByteJavaTM
    @GMByteJavaTM 9 лет назад +37

    Сочные баталии))))

  • @bh9011
    @bh9011 8 лет назад +33

    с этим SQL' ом можно дерганым стать (с) 😂👍🏻

  • @user-zy5ph7ob4q
    @user-zy5ph7ob4q 8 лет назад +12

    Код к уроку :
    drive.google.com/file/d/0BwWjzd6TxM_wZllNZ3ZhdVdNVFk/view

  • @vTeb9PticyKidal
    @vTeb9PticyKidal 5 лет назад +7

    интересно узнать чем ты сейчас занимаешься))

  • @user-vm7re9bu9r
    @user-vm7re9bu9r 4 года назад +1

    Еще одна фишка есть: все должны знать, что если выполнить такой запрос: select 'abc' from users; то на выходе получится столько строк abc, сколько записей. Теперь ловите фишку: select 'insert into house(id, user_id) values (nextval(''home_seq''), ' || userid || ') on conflict(id, user_id) do nothing;' На выходе получается динамический скрипт заполнения таблицы house на основе данных таблицы users. На основе этого можно писать запросы любой сложности, делать различные соединения с другими таблицами и доставать от туда данные. || в sql значит конкатенация строки

  • @melnikovivan85
    @melnikovivan85 6 лет назад +2

    Сочный курс.

  • @user-vm7re9bu9r
    @user-vm7re9bu9r 4 года назад

    Автор показал много фишек, это основное, но хотелось бы дополнить. Когда работаешь back end разработчиком, возникает необходимость писать скрипты обновления, которые будут переносить новые даннные из разраб линейки на другие. При этом важно, чтобы скрипт выполнился ОДИН раз. В этом помогут следующие конструкции: insert into users ... nextval('users_seq') on conflict(email) do nothing; поле email должно быть уникальным

  • @user-ot2ry5um4o
    @user-ot2ry5um4o 5 лет назад +2

    Забавно иногда слушать автора но точно не заснешь на его уроках

  • @user-re3jw1di8s
    @user-re3jw1di8s 7 лет назад +5

    Это только мне кажется странным, когда (4:54) Пётр создаёт первичный ключ review_id, а потом его же делает внешним?

    • @Noname-ww2lv
      @Noname-ww2lv 4 года назад

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

    • @banraiiidota3284
      @banraiiidota3284 7 месяцев назад

      Это связь один к одному, он решил, что у 1 фильма может быть 1 один комментарий и наоборот, но это больше для практики сделано, как я понял

  • @ksut1091
    @ksut1091 8 лет назад +4

    чем дальше, тем тяжелее воспринимается информация. этот урок еле прослушала. При том что увеличиваю скорость проигрывания

  • @gideonwait9813
    @gideonwait9813 5 лет назад

    Дай Бог тебе здоров я

  • @user-ms7xz9kw1h
    @user-ms7xz9kw1h 8 лет назад +1

    а будут ли занятия по созданию интерфейса для Базы данных?

  • @sashasashovic91
    @sashasashovic91 8 лет назад

    хорошие уроки у тебя полу, молодец.

  • @mykhailomorhal2181
    @mykhailomorhal2181 6 лет назад

    Спасибо)

  • @xima9792
    @xima9792 4 года назад

    На самом деле эдакий интерактивчик с ошибками автора позволяет не паниковать когда сам руинешься на ошибках формата auto increment или primary_key, и в целом помогают понять чо кого. единственное я так понял это идёт большой косяк еще с 13 урока. (либо я чего то не понял) зачем в таблице heroes вообще иметь какие то ссылки на энимес пусть эта таблица будет батей на которую уже будет ссылаться enemies со своим столбцом oponent_name , где будет ссылаться на id_hero. Например:
    mysql> INSERT INTO enemies VALUES (NULL,'Jocker', 'Gothem',(SELECT hero_id FROM heroes WHERE hero_name='Batman'));
    Тогда мы будем иметь возможность накинуть одному герою несколько врагов. А на выходе получить что то вроде:
    mysql> SELECT heroes.hero_id, heroes.hero_name , heroes.power, inc.initials,enemies.zlodey FROM heroes INNER JOIN enemies ON heroes.hero_id=enemies.oponent_id INNER JOIN inc ON heroes.hero_id=inc.hero_id ORDER BY heroes.hero_id;
    +---------+------------+---------+----------+------------+
    | hero_id | hero_name | power | initials | zlodey |
    +---------+------------+---------+----------+------------+
    | 1 | spider-man | web | Spidy | Goblin |
    | 2 | Batman | gadgets | Bat | Jocker |
    | 2 | Batman | gadgets | Bat | Bane |
    | 3 | Iron Man | Traje | Stark | Ivan Vanco |
    +---------+------------+---------+----------+------------+

  • @ZhuGa87
    @ZhuGa87 9 лет назад +3

    не понял, если честно, последовательности естественного и внутреннего запросов:(

    • @Nicktimes
      @Nicktimes 8 лет назад

      +Игорь Жуган эти три таблицы соединяет и получается как одно

  • @hubba-bubbatm2876
    @hubba-bubbatm2876 6 лет назад

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

    • @inter4707
      @inter4707 5 лет назад +2

      Пример:
      mysql> UPDATE contacts
      -> set name = 'Петр'
      -> where user_id = 1;

  • @Shmidtelson
    @Shmidtelson 7 лет назад +1

    Там где странно, ты добавил 3 строки вместо 2х. SELECT SELECT FROM

  • @Shuhret
    @Shuhret 9 лет назад

    Спасибо за уроки!
    почему не удается скачать 15-урок через savefrom.net?

  • @crazy_snegir_ua4431
    @crazy_snegir_ua4431 5 лет назад

    Норм!

  • @user-gs9yy7fk1r
    @user-gs9yy7fk1r 3 года назад

    Почему мне так смешно

  • @user-gy3qt6td5l
    @user-gy3qt6td5l 8 лет назад +1

    Петр так графически и представил таблицы где указаны связи один к одному и т д . для наглядности своих примеров ... Судя по тому что он ранее в уроке 13 напутал он и сам не понимает всей сути команд ....

  • @codingfox
    @codingfox 9 лет назад +10

    Все хорошо, но видосы можно монтировать, чтобы ошибки не попадали в кадр

    • @user-vm7re9bu9r
      @user-vm7re9bu9r 7 лет назад +10

      когда слишком гладко на видосах, думаешь, что с тобой что-то не так. У людей получается и объяснять и ошибок не делать, а ты просто пишешь и голову ломаешь над простейшими вещами) Гей-гей, я не одинок:)

  • @KennyTheBest9251
    @KennyTheBest9251 6 лет назад +3

    Со сценарием бы хорошо поработать, монтировать косяки и ошибки, а не просто заливать запись и пилить рекламу как AAA видеоурок

  • @7bax7
    @7bax7 7 лет назад

    2017?

  • @Cliffart44
    @Cliffart44 4 года назад

    15:01
    Можно F11 нажать 😏

  • @sambalinski
    @sambalinski 6 лет назад +1

    Полное дн.. мда, не будет давайте писать. =)

  • @evgenii.zaikin
    @evgenii.zaikin 8 лет назад

    ИМХО псевдонимы не использую, так как они ухудшают читаемость в больших запросах

  • @Wassermannroman
    @Wassermannroman 5 лет назад

    Урок сырой, автор вообще не готовится, зато рекламы навставлял, большие деньги заработать хочет.

    • @ij9155
      @ij9155 4 года назад

      Есть много платных курсов SQL, там все подготовленно..

    • @Ads-vj8db
      @Ads-vj8db 4 года назад +1

      Установите расширение для Гугл Хрома АдблокПлюс. Разбираю уже 15-ый урок - ни разу рекламы не видел )))

  • @user-gy3qt6td5l
    @user-gy3qt6td5l 8 лет назад

    костелов прекращай гнать пургу Петр

  • @Hvlae
    @Hvlae 5 лет назад

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