#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 - วิทยาศาสตร์และเทคโนโลยี
Если у кого-то есть вопросы по домашнему заданию, указанному в описании к данному видео, пишите здесь в комментариях или в нашей группе Телеграмм - поясню и прокомментирую все неясные моменты. А они, скорее всего, могут быть :)
Добрый день. Пожалуйста, подскажите где можно взять ДЗ попрактиковаться?
Не курс а песня. Повторяю всё за Максимом душа радуется 🙂
Супер! Большое спасибо! Отдельное спасибо за домашнее задание, которое получилось после прослушанного материала! Учеба с удовольствием))
Отличная новость. Уже смотрю, 5-ый урок пошел. Только недавно про 2-ой говорили, что прошли ))
Очень полезно спасибо за ваш труд !
Привет, Максим! Полезное видео, приходилось тоже работать с большими массивами данных. Отличный урок!
Спасибо за отзыв!
Спасибо за видео
Запросы в уроке:
00:26
select * from employees;
00:54
select * from employees
where rownum
Максим, начиная с 5 урока все запросы, используемые в видео, я обычно публикую под видео (там есть соответствующая ссылка). Для данного урока это pastebin.com/RAHJwfgz
Спасибо, очень полезно!
Спасибо, Елена. Рад, что видео понравилось.
Спасибо
Максим вы молодец!
Спасибо, Евгений!
Спасибо! Было бы удобно, если бы был какой-нибудь мини конспект, я информацию фиксирую в тетради для лучшего запоминания.
Виктория, в конспекте особо не видел нужды, т.к. стоит воспользоваться поиском в гугле/яндексе по нужному слову, то сразу множество материала - как если искать некие sql операторы/функции, так и если просто по их бизнес-применению.
Вряд ли на работе вы будете четко следовать конспекту. Скорее всего, задачи будут разноплановые и живой поиск в интернете, гораздо практичнее. Конечно, для себя и в рамках своих рабочих задач стоит вести неких блокнот, где фиксировать самые востребованные для вас команды. Но такие шаблоны у каждого свои и я считаю это правильно.
Хорошие простые примеры, но при монтировании видео, надо звук на 150-200% поднимать, ну очень тихо, у меня под 100% почти и ели слышно.
Максим, подскажите, пожалуйста. А условие top/limit вместо rownum в PL/SQL не работает?
Да, top/limit в oracle нет. Их аналог в oracle:
FETCH FIRST 10 ROW ONLY
В процессе выполнения ДЗ родился вопрос: А можно ли задавать в условиях запроса упорядочивание по нескольким полям? Например, чтобы отсортировал сначала по полю salary, а во вторую очередь - по полю first_name?
Наверное, это как-то так должно выглядеть, но не работает:)
SELECT employee_id, last_name, first_name, salary
from EMPLOYEES
order by salary
and order by first_name;
Все верно, это так не работает. В order by сможете указать только конкретные поля (без условий).
Если нужно сортировать в определенном порядке, то просто перечисляйте нужную вам последовательность полей через запятую. Как пример:
order by salary, first_name
или наоборот( как вам удобнее):
order by first_name, salary
@@ExcelStore Понял. Благодарю!
А где взять данные к таблице, используемой в уроке?
Данные уже есть в БД. Примеры запросов по ссылке под видео.
почему-то 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;
Да, с NOT IN в данном случае было бы по проще ))
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
1. Используя две черточки (--) вы комментируете определенную строку кода. Соответственно, ставить их надо перед тем кодом, которые хотите закоментить. Можно поставить и после самого кода, но тогда это уже будет не для комментирования кода, а например для написания некоего примечания.
2. Тут только знать правила написания соответствующих функций/операторов. и ориентироваться на те ошибки, которые показывает оракл. Если к ним привыкнуть, то становится вполне очевидным, где и почему ошибка. В большинстве случаев точно.
Если говорить о подсветке скобок, то она работает в SQL Developer.
Также если ввести UPPER и потом написать скобку, то появляется подсказка о синтаксисе функции и на нее можно тоже ориентироваться. Это конечно не так подробно как в экселе, но тоже вполне информативно.
@@ExcelStore
По первому вопросу еще более непонятно стало)). В чем функциональные отличие комментария от примечания ?
@@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
@@ExcelStore Аа, понятно. Спасибо!
7 ЗАДАНИЕ В ТЕСЕТ ТАК ВЫВОДИТСЯ ???
SELECT
EMPLOYEE_ID,
UPPER(FIRST_NAME),
UPPER(LAST_NAME),
SALARY
FROM employees
ORDER BY SALARY DESC