Главная страница
Навигация по странице:

  • Системная таблица DUAL

  • Пример запроса к таб­лице DUAL

  • Вычисляемые поля

  • Параметр для to_char() Описание

  • Функция Описание

  • Основы SQL. Основы sql основы sql план курса План курса


    Скачать 1.14 Mb.
    НазваниеОсновы sql основы sql план курса План курса
    АнкорKzkzkzals
    Дата21.09.2022
    Размер1.14 Mb.
    Формат файлаpptx
    Имя файлаОсновы SQL.pptx
    ТипДокументы
    #688650
    страница4 из 9
    1   2   3   4   5   6   7   8   9

    BETWEEN условие


    Условие BETWEEN (называемое, также оператор BETWEEN) используется для получения значений в пределах диапазона в предложениях SELECTINSERTUPDATE или 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

    , model

    from lanit.aircrafts_data t

    ! Вывести все коды самолетов, в которых есть места бизнес класса

    ! Вывести все данные о самолетах с номерами начинающимися на 7, 3

    ! Вывести все места эконом класса с буквами А,С или места бизнес класса в самолете 773

    Системная таблица DUAL

    Системная таблица DUAL

    В некоторых случаях может потребоваться вернуть при помощи запро­са результат работы некоторой хранимой функции или результат вычисле­ния. В этом случае можно использовать специальную системную таблицу DUAL, доступную всем пользователям и всегда содержащую единствен­ный столбец с именем DUMMY и типом VARCHAR2(1) и единственную строку.

    Таблица DUAL - это реальная таблица в схеме SYS, содержащая только одну запись.

    Пример запроса к таб­лице DUAL:

    • select 4 + 5*20 from dual
    • select sysdate from dual
    • select function1(x) from dual
    • select dbms_random.value from dual -- случайное значение
    • Конкатенированные столбцы

      Оператор конкатенации - две вертикальные черты (||):

      select 'Данные '||aircraft_code||' '||seat_no||' '||fare_conditions

      from lanit.seats t

    Вычисляемые поля

    • Если в поле нет значения, оно считается пустым (NULL).
    • Пустое значение - это значение, которое недоступно, не присвоено, неизвестно или не определено.
    • Если хотя бы одно поле в выражении имеет пустое значение, то и результат этого выражения неопределенен.
    • Чтобы получить результат, необходимо преобразовать пустые значения. Для этого используется функция NVL, преобразующая пустые значения в непустые NVL(строка, значение)
    • select fio_human

      , sal_osn

      , sal_add

      , sal_osn+sal_add sual_all

      , sal_osn+nvl(sal_add,0) sal_all2

      from SALARY t

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

    FROM table1, table2;

    Выборка данных из нескольких таблиц с условием:

    FROM table1, table2

    WHERE table1.id_table1 =table2.id_table1

    select a.* -- выборка все столбцов таблицы aircrafts_data

    , s.seat_no

    from lanit.aircrafts_data a

    , seats s

    select a.*, s.seat_no

    from lanit.aircrafts_data a

    , seats s

    where a.aircraft_code=s.aircraft_code(+)

    При использовании жесткого равенства, в списке не будет самолетов, у которых нет посадочных мест. Если такие данные нужны, то используем (+), т.е. данные в таблице seats, могут быть или не быть. Лучше использовать left join.

    Параметр для to_char()

    Описание

    YYYY

    4-значный год

    YYY, YY, Y

    Последние 3,2,1 цифры года

    MM

    Месяц (01-12; JAN = 01)

    MON

    Сокращенное название месяца

    MONTH

    Название месяца, дополненное пробелами длиной до 9 символов

    D

    День недели (1-7)

    DD

    День месяца (1-31)

    DDD

    День года (1-366)

    DAY

    Название дня

    HH или HH12

    Час дня (1-12)

    HH24

    Час дня (0-23)

    MI

    Минуты (0-59)

    SS

    Секунды (0-59)

    Q

    Квартал года (1, 2, 3, 4; JAN-MAR = 1)

    Функция

    Описание

    INSTR

    возвращает n-е вхождение подстроки в строке

    SELECT INSTR('На дворе трава', 'а') FROM DUAL;

    LENGTH 

    возвращает длину указанной строки.

    LOWER 

    преобразует все символы в заданной строке в нижний регистр

    UPPER

    преобразует все символы строки в верхний регистр

    TRIM

    удаляет все указанные символы с начала или окончания строки

    TO_CHAR

    преобразует число или дату в строку

    SUBSTR

    позволяет извлекать подстроку из строки

    SUBSTR( string, start_position, [ length ] )

    SELECT SUBSTR('КакЧертИзТабакерки', 1, 3) FROM DUAL;

    SELECT SUBSTR('КакЧертИзТабакерки', -15, 4) FROM DUAL;

    REPLACE

    заменяет последовательность символов в строке другим набором символов

    REPLACE( string1, string_to_replace, [ replacement_string ] )

    SELECT REPLACE('222abcd', '2', '3') FROM DUAL;

    LPAD (RPAD)

    добавляет с левой (правой) части строки определенный набор символов

    LPAD( string1, padded_length, [ pad_string ] )

    SELECT LPAD('lpad', 8, '0') FROM DUAL;
    1   2   3   4   5   6   7   8   9


    написать администратору сайта