#5. Фильтрация строк в запросе Select. Работа с операторами AND, OR, IN, NOT IN | Основы SQL

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 พ.ค. 2020
  • В сегодняшнем видео продолжаем разбор запроса SELECT. В частности, рассмотрим:
    1. Использование ROWNUM в SQL-запросе для вывода первых строк из интересующей нас таблицы.
    2. Использование логических операторов AND и OR для фильтрации данных.
    3. Использование операторов IN и NOT IN для компактной записи имеющихся у нас условий фильтрации.
    4. Важность регистра символов при фильтрации по текстовым значениям.
    5. Использование функции UPPER и LOWER как в условиях WHERE, так и непосредственно в предложении SELECT.
    Команды SQL, упоминаемые в видео, доступны по ссылке: pastebin.com/RAHJwfgz
    Ссылка на домашнее задание: pastebin.com/raw/9sieChQD
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Также напоминаю. В рамках данного курса действует группа в Телеграм, в которой я в режиме онлайн отвечаю на все вопросы участников, помогаю по ходу обучения.
    Вход в группу свободный, по ссылке приглашению (указана ниже). Ограничений по количеству участников на данный момент нет.
    В указанной группе задавайте абсолютно любые вопросы, в рамках нашего обучения. Посмотрели видео, попробовали повторить. Получилось - отлично. Что-то не вышло, пишите вопрос в группу. Всем отвечу и помогу.
    Ссылка на группу в Telegramm: t.me/joinchat/LlHDMBmN0SAxM5_...
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ★ Дорогие друзья! Если вам нравится, что я делаю, и вы хотите поддержать проект материально, ссылка: www.donationalerts.com/r/exce...
    ★ Давайте дружить:
    Facebook | / excelstore.pro
    Вконтакте | ExcelStore
    Telegramm | t.me/ExcelStore
    #ОбучениеSQL #КурсыSQL #УрокиSQL #КухарьМаксим #ExcelStore
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 34

  • @ExcelStore
    @ExcelStore  4 ปีที่แล้ว +1

    Если у кого-то есть вопросы по домашнему заданию, указанному в описании к данному видео, пишите здесь в комментариях или в нашей группе Телеграмм - поясню и прокомментирую все неясные моменты. А они, скорее всего, могут быть :)

    • @DMITRIYGeorgia
      @DMITRIYGeorgia 11 หลายเดือนก่อน

      Добрый день. Пожалуйста, подскажите где можно взять ДЗ попрактиковаться?

  • @user-qh5fr3yo1w
    @user-qh5fr3yo1w 29 วันที่ผ่านมา

    Не курс а песня. Повторяю всё за Максимом душа радуется 🙂

  • @Dr_MaO
    @Dr_MaO 3 หลายเดือนก่อน +1

    Супер! Большое спасибо! Отдельное спасибо за домашнее задание, которое получилось после прослушанного материала! Учеба с удовольствием))

    • @ExcelStore
      @ExcelStore  3 หลายเดือนก่อน +1

      Отличная новость. Уже смотрю, 5-ый урок пошел. Только недавно про 2-ой говорили, что прошли ))

  • @mehribanhasanova4590
    @mehribanhasanova4590 ปีที่แล้ว +1

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

  • @mivmire
    @mivmire 4 ปีที่แล้ว +3

    Привет, Максим! Полезное видео, приходилось тоже работать с большими массивами данных. Отличный урок!

    • @ExcelStore
      @ExcelStore  2 ปีที่แล้ว +1

      Спасибо за отзыв!

  • @user-xu3uo4om8b
    @user-xu3uo4om8b 2 ปีที่แล้ว +1

    Спасибо за видео

  • @maemelyanov
    @maemelyanov 2 ปีที่แล้ว +5

    Запросы в уроке:
    00:26
    select * from employees;
    00:54
    select * from employees
    where rownum

    • @ExcelStore
      @ExcelStore  2 ปีที่แล้ว +1

      Максим, начиная с 5 урока все запросы, используемые в видео, я обычно публикую под видео (там есть соответствующая ссылка). Для данного урока это pastebin.com/RAHJwfgz

  • @user-lg4fd7lq4t
    @user-lg4fd7lq4t 3 ปีที่แล้ว +2

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

    • @ExcelStore
      @ExcelStore  3 ปีที่แล้ว

      Спасибо, Елена. Рад, что видео понравилось.

  • @DMITRIYGeorgia
    @DMITRIYGeorgia 11 หลายเดือนก่อน

    Спасибо

  • @ichigorn
    @ichigorn ปีที่แล้ว +1

    Максим вы молодец!

    • @ExcelStore
      @ExcelStore  ปีที่แล้ว

      Спасибо, Евгений!

  • @user-iu6lp5ui9c
    @user-iu6lp5ui9c 2 ปีที่แล้ว +2

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

    • @ExcelStore
      @ExcelStore  2 ปีที่แล้ว +2

      Виктория, в конспекте особо не видел нужды, т.к. стоит воспользоваться поиском в гугле/яндексе по нужному слову, то сразу множество материала - как если искать некие sql операторы/функции, так и если просто по их бизнес-применению.
      Вряд ли на работе вы будете четко следовать конспекту. Скорее всего, задачи будут разноплановые и живой поиск в интернете, гораздо практичнее. Конечно, для себя и в рамках своих рабочих задач стоит вести неких блокнот, где фиксировать самые востребованные для вас команды. Но такие шаблоны у каждого свои и я считаю это правильно.

  • @v7bdv7bd34
    @v7bdv7bd34 8 หลายเดือนก่อน +1

    Хорошие простые примеры, но при монтировании видео, надо звук на 150-200% поднимать, ну очень тихо, у меня под 100% почти и ели слышно.

  • @funkey0075
    @funkey0075 ปีที่แล้ว

    Максим, подскажите, пожалуйста. А условие top/limit вместо rownum в PL/SQL не работает?

    • @ExcelStore
      @ExcelStore  ปีที่แล้ว +2

      Да, top/limit в oracle нет. Их аналог в oracle:
      FETCH FIRST 10 ROW ONLY

  • @modest_handsome
    @modest_handsome 2 ปีที่แล้ว +1

    В процессе выполнения ДЗ родился вопрос: А можно ли задавать в условиях запроса упорядочивание по нескольким полям? Например, чтобы отсортировал сначала по полю salary, а во вторую очередь - по полю first_name?
    Наверное, это как-то так должно выглядеть, но не работает:)
    SELECT employee_id, last_name, first_name, salary
    from EMPLOYEES
    order by salary
    and order by first_name;

    • @ExcelStore
      @ExcelStore  2 ปีที่แล้ว +5

      Все верно, это так не работает. В order by сможете указать только конкретные поля (без условий).
      Если нужно сортировать в определенном порядке, то просто перечисляйте нужную вам последовательность полей через запятую. Как пример:
      order by salary, first_name
      или наоборот( как вам удобнее):
      order by first_name, salary

    • @modest_handsome
      @modest_handsome 2 ปีที่แล้ว +1

      @@ExcelStore Понял. Благодарю!

  • @valeriaka99
    @valeriaka99 2 ปีที่แล้ว

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

    • @ExcelStore
      @ExcelStore  2 ปีที่แล้ว

      Данные уже есть в БД. Примеры запросов по ссылке под видео.

  • @user-ut5jq6qm4h
    @user-ut5jq6qm4h ปีที่แล้ว

    почему-то NOT IN вылетел из головы, пришлось попотеть:
    where department_id 30
    and department_id 50
    and department_id 60
    and department_id 80
    and department_id 90
    and department_id 100;

    • @ExcelStore
      @ExcelStore  ปีที่แล้ว

      Да, с NOT IN в данном случае было бы по проще ))

  • @modest_handsome
    @modest_handsome 2 ปีที่แล้ว

    1. По поводу комментирования условий не понял: двойную черточку в итоге где нужно ставить - перед условием выборки или после? th-cam.com/video/OWSRLbj1afo/w-d-xo.html
    2. SQL-клиент не подсказывает (как Excel), что где-то пропущена скобка или какие-то другие виды ошибок? А то вот как то не очень очевидно, что после функции UPPER нужно в скобки заключить только наименование поля (last_name), а не все условие выборки целиком (last_name IN ('KING', 'LORENTZ' )). Или остается просто тупо запоминать где как используются скобки?
    th-cam.com/video/OWSRLbj1afo/w-d-xo.html

    • @ExcelStore
      @ExcelStore  2 ปีที่แล้ว

      1. Используя две черточки (--) вы комментируете определенную строку кода. Соответственно, ставить их надо перед тем кодом, которые хотите закоментить. Можно поставить и после самого кода, но тогда это уже будет не для комментирования кода, а например для написания некоего примечания.
      2. Тут только знать правила написания соответствующих функций/операторов. и ориентироваться на те ошибки, которые показывает оракл. Если к ним привыкнуть, то становится вполне очевидным, где и почему ошибка. В большинстве случаев точно.
      Если говорить о подсветке скобок, то она работает в SQL Developer.
      Также если ввести UPPER и потом написать скобку, то появляется подсказка о синтаксисе функции и на нее можно тоже ориентироваться. Это конечно не так подробно как в экселе, но тоже вполне информативно.

    • @modest_handsome
      @modest_handsome 2 ปีที่แล้ว

      @@ExcelStore
      По первому вопросу еще более непонятно стало)). В чем функциональные отличие комментария от примечания ?

    • @ExcelStore
      @ExcelStore  2 ปีที่แล้ว +2

      @@modest_handsome
      Поясню. Например, есть такой вот запрос:
      select quarter, sum(revenue) as revenue
      from sales
      where year in (2019, 2020)
      group by quarter
      Если я две черточки поставлю, например, перед where, то таким образом я закомментировал эту строку и она по прежнему есть в тексте запроса, но СУБД ее уже не учитывает.
      select quarter, sum(revenue) as revenue
      from sales
      --where year in (2019, 2020)
      group by quarter
      И другой пример. Здесь я уже написал комментарий к моему where. Теперь мой запрос СУБД выполнит с учетом данного условия и при этом я имею возможность оставлять для других пользователей некие примечания к коду.
      select quarter, sum(revenue) as revenue
      from sales
      where year in (2019, 2020) -- фильтр по годам
      group by quarter

    • @modest_handsome
      @modest_handsome 2 ปีที่แล้ว +1

      @@ExcelStore Аа, понятно. Спасибо!

  • @aleksandrlukashev4398
    @aleksandrlukashev4398 9 หลายเดือนก่อน

    7 ЗАДАНИЕ В ТЕСЕТ ТАК ВЫВОДИТСЯ ???
    SELECT
    EMPLOYEE_ID,
    UPPER(FIRST_NAME),
    UPPER(LAST_NAME),
    SALARY
    FROM employees
    ORDER BY SALARY DESC