18. MySQL 8 UNION оператор объединение запросов

Поделиться
HTML-код
  • Опубликовано: 17 июн 2019
  • UNION в MySQL позволяет получить результат из сразу нескольких операторов SELECT.

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

  • @user-fv1ht8fj2z
    @user-fv1ht8fj2z 2 года назад +2

    очень крутое видео! спасибо! включила, чтобы уточнить один момент и не заметила, как досмотрела до конца) вы так интересно рассказываете)

    • @HtmllabRu
      @HtmllabRu  2 года назад

      Александра, спасибо!))

  • @dmitry_nik92
    @dmitry_nik92 2 года назад +4

    03:49 То чувство, когда ты из Железногорска

  • @alexeicodes
    @alexeicodes 3 года назад +1

    Отличное видео!

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

    Здравствуйте! Подскажите, почему 6:05 у нас 4xSpringfield, но при выдаче SELECT 6:47 у нас 3xSpringfield?

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

      честно говоря, совсем не понимаю, что с чем мы объединяем при:
      SELECT c1.name
      FROM city c1 INNER JOIN city c2
      ON c1.name = c2.name
      WHERE c1.id c2.id;
      Потому что при:
      SELECT c1.name
      FROM city c1 INNER JOIN city c2
      ON c1.name = c2.name
      WHERE c1.id c2.id
      ORDER BY c1.name;
      Вывод
      ...
      6xSpringfield
      ...
      2xZeleznogorsk
      при
      SELECT name
      FROM city
      WHERE name LIKE 'Springfield';
      Вывод:
      Springfield
      Springfield
      Springfield
      при
      SELECT name
      FROM city
      WHERE name LIKE 'Zeleznogorsk';
      Вывод:
      Zeleznogorsk
      Zeleznogorsk
      Теперь вопрос, что с чем мы объединяли? :) Ведь, по сути, должно быть тогда 6xSpringfield и 4xZeleznogorsk?

    • @HtmllabRu
      @HtmllabRu  4 года назад +3

      если пишете ON c1.name = c2.name, значит объединяете таблицу саму с собой.
      в таблице city присутствует 3xSpringfield. Когда вы объединяете таблицу city саму с собой, рассматриваются 3xSpringfield в одной и 3xSpringfield (те же самые) в другой. При объединении таблиц их записи сочетаются во всех вариантах, то есть где-то в памяти сервера получается условный набор:
      c1.id1 c2.id1 -
      c1.id1 c2.id2 +
      c1.id1 c2.id3 +
      c1.id2 c2.id1 +
      c1.id2 c2.id2 -
      c1.id2 c2.id3 +
      c1.id3 c2.id1 +
      c1.id3 c2.id2 +
      c1.id3 c2.id3 -
      Условный, потому что вместо реальных идентификаторов городов Springfield, указаны idN.
      Под условие c1.id c2.id попадают те записи, которые выделены знаком '+' (у них id разные),

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

      @@HtmllabRu спасибо Вам огромное!

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

    как можно с вами связаться
    по почте или по ватсапу

    • @HtmllabRu
      @HtmllabRu  3 года назад

      Азамат, в описании канала емейл

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

    выдача:
    | ?ahty |
    | ?guas Lindas de Goi?s |
    | ?iauliai |
    | ?orlu |
    | ?orum |
    | Zimbabwe |
    | Zambia |
    | Yugoslavia |
    | Yemen |
    | Western Sahara |
    Понятно, что дело в кодировке. Но как ее поменять ?

    • @HtmllabRu
      @HtmllabRu  4 года назад +2

      в консоли cmd поменять кодировку на UTF-8 можно командой chcp 65001

    • @alexeicodes
      @alexeicodes 3 года назад

      @@HtmllabRu что странно так это каким образом "chcp 65001" связана с "UTF-8"? было бы логично сделать команду аля set_encrypting -cUTF-8 или типо такого

    • @HtmllabRu
      @HtmllabRu  3 года назад +1

      @@alexeicodes тут было бы интересно почитать историю разработки chcp, чем авторы руководствовались