Знакомство с Oracle Application Express. Создание и выполнение SQL-запросов (Лабораторная работа № 1), страница 2

Цель:  Освоить задание условия выборки во фразе 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.