Цель: Освоить задание условия выборки во фразе WHERE. Освоить использование подзапросов.
Задания:
1. Выведите имя, город и кредитный рейтинг всех покупателей из штата «NEW YORK» из таблицы demo_customers.
2. Выведите сотрудников с зарплатой больше 1000$ меньше 2000$ из таблицы emp.
3. Выберите товары, которые относятся к категориям мужских товаров или категории аксессуаров из таблицы demo_product_info.
4. Выберите сотрудников, которые устроились на работу в 82 или 83 годах из таблицы emp.
5. Выберите сотрудника с наибольшей зарплатой из таблицы emp.
6. Выберите сотрудников с зарплатой больше средней из таблицы emp.
7. Получите список покупателей, не проживающих ни в одном из городов, в которых находятся отделы фирмы. Требуется выбрать данные из таблицы demo_customers, исключив города из таблицы dept.
8. При помощи оператора in получите список покупателей, проживающих в городе, в котором находятся отделы фирмы. Требуется выбрать данные из таблицы demo_customers, город из которой есть в таблице dept.
9. Используя подзапрос, во фразе from выберите все товары, предназначенные для женщин из таблицы demo_product_info.
10. Выберите часть данных из предыдущего запроса с использованием псевдонима таблицы.
Технология работы:
1. В SQL Workshop->SQL Command введите запрос select cust_first_name, cust_city,credit_limit from demo_customers where cust_state='NY' и нажмите «Run».
2. Выполните запрос select * from emp where sal between 1000 and 2000. Функция between позволяет указать диапазон, между которым должно находиться значение поля.
3. Выполните запрос с использованием условия или - select product_name, category from demo_product_info where category='Mens' or category='Accessories'.
4. Выполните запрос select * from emp where to_char(hiredate,'YY')='82' or to_char(hiredate,'YY')='83'. Функция to_char преобразует дату в строку в формате последние 2 символа года (YY).
5. Выполните запрос select ename,job,sal from emp where sal=(select max(sal) from emp). В запросе используется подзапрос, находящий максимальную зарплату в таблице emp.
6. Выполните запрос select ename,job,sal from emp where sal>(select avg(sal) from emp). В подзапросе используется функция AVG, находящая среднее значение.
7. Выполните запрос select cust_first_name||' '||cust_last_name "Заказчик", cust_city "Город" from demo_customers dc where not exists (select loc from dept where upper(dept.loc)=upper(dc.cust_city)). В запросе используется конструкция not exists, которая позволяет исключить из выборки строки, ключевые данные из которых совпали с данными найденными в подзапросе. Так как названия городов в таблицах demo_customers и emp имеют разный регистр, требуется использовать функцию UPPER, которая преобразует все буквы в заглавные.
8. Выполните запрос select cust_first_name||' '||cust_last_name "Заказчик", cust_city "Город" from demo_customers dc where upper(dc.cust_city) in (select upper(loc) from dept). Оператор in позволяет найти совпадения из списка значений, данные могут указываться не только подзапросом, но и через запятую: select cust_first_name||' '||cust_last_name "Заказчик", cust_city "Город" from demo_customers dc where dc.cust_city in ('Chicago','New York','Dallas','Boston').
9. Выполните запрос select * from (select * from demo_product_info where category='Womens') t.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.