Основы SQL. Основы sql основы sql план курса План курса
Скачать 1.14 Mb.
|
BETWEEN условиеУсловие BETWEEN (называемое, также оператор BETWEEN) используется для получения значений в пределах диапазона в предложениях SELECT, INSERT, UPDATE или DELETE. Возвращает записи, где expression находится в пределах диапазона от value1 до value2 (включительно). expression {not} BETWEEN value1 AND value2 Найти все рейсы с 01.09.17 по 03.09.17 включительно select * from FLIGHTS t where trunc(t.date_arrival) between to_date('01.09.2017','dd.mm.yyyy') and to_date('02.03.2017','dd.mm.yyyy') order by t.date_arrival Проверить, что вернет следующий запрос select * from FLIGHTS t where t.date_arrival between to_date('01.09.2017','dd.mm.yyyy') and to_date('02.03.2017','dd.mm.yyyy') order by t.date_arrival Вывести дальность полета всех самолетов в тыс.кмselect aircraft_code, round(range/1000,0) range, modelfrom lanit.aircrafts_data t! Вывести все коды самолетов, в которых есть места бизнес класса! Вывести все данные о самолетах с номерами начинающимися на 7, 3! Вывести все места эконом класса с буквами А,С или места бизнес класса в самолете 773Системная таблица DUALСистемная таблица DUALВ некоторых случаях может потребоваться вернуть при помощи запроса результат работы некоторой хранимой функции или результат вычисления. В этом случае можно использовать специальную системную таблицу DUAL, доступную всем пользователям и всегда содержащую единственный столбец с именем DUMMY и типом VARCHAR2(1) и единственную строку.Таблица DUAL - это реальная таблица в схеме SYS, содержащая только одну запись.Пример запроса к таблице DUAL:
Конкатенированные столбцыОператор конкатенации - две вертикальные черты (||):select 'Данные '||aircraft_code||' '||seat_no||' '||fare_conditionsfrom lanit.seats tВычисляемые поля
select fio_human, sal_osn, sal_add, sal_osn+sal_add sual_all, sal_osn+nvl(sal_add,0) sal_all2from SALARY tДекартово произведение - соединение без конструкции WHERE, в результате которого каждая строка одной таблицы комбинируется с каждой строкой другой таблицы.FROM table1, table2;Выборка данных из нескольких таблиц с условием:FROM table1, table2WHERE table1.id_table1 =table2.id_table1select a.* -- выборка все столбцов таблицы aircrafts_data, s.seat_nofrom lanit.aircrafts_data a, seats sselect a.*, s.seat_nofrom lanit.aircrafts_data a, seats swhere a.aircraft_code=s.aircraft_code(+)При использовании жесткого равенства, в списке не будет самолетов, у которых нет посадочных мест. Если такие данные нужны, то используем (+), т.е. данные в таблице seats, могут быть или не быть. Лучше использовать left join.
|