Лекция_3 (С.Д. Кузнецов - Презентации лекций)
Описание файла
Файл "Лекция_3" внутри архива находится в папке "С.Д. Кузнецов - Презентации лекций". PDF-файл из архива "С.Д. Кузнецов - Презентации лекций", который расположен в категории "". Всё это находится в предмете "модель данных sql" из 4 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Лекция 3. Общая характеристика оператораSELECT и организация списка ссылок на таблицыв разделе FROM Введение Скалярные выраженияОбщие синтаксические правила построения скалярных выраженийЧисленные выраженияВыражения, значениями которых являются символьные или битовые строкиВыражения даты-времениБулевские выраженияВыражения с переключателем Общая структура оператора выборки в языке SQL20.05.2016Семантика оператора выборкиСсылки на таблицы раздела FROMТабличное выражение, спецификация запроса и выражение запросовРаздел WITH выражения запросовКонструкторы значения строки и таблицыСсылки на базовые, представляемые и порождаемые таблицыПредставляемые таблицы, или представления (VIEW)Лекция 3.
Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM1Введение В этой и следующих трех лекциях рассматриваетсяважнейший оператор языка SQL – оператор SELECT,предназначенный для выборки данных из SQLориентированной базы данных Этот оператор имеет довольно сложную и развитуюструктуру его необходимо знать любому специалисту, так или иначесвязанному с использованием баз данных; поэтому емууделяется так много внимания Первая лекция носит подготовительный характер виды скалярных выражений, используемые, преждевсего, в конструкциях оператора SELECT базовая семантика выполнения этого оператора принципы и разновидности указания таблиц, из которыхпроизводится выборка данных20.05.2016Лекция 3.
Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM2Скалярные выражения (1) Скалярное выражение – это выражение, вырабатывающеерезультат некоторого типа, специфицированного встандартеСкалярные выражения являются основой языка SQL,поскольку все условия, элементы списков выборки и т. д.базируются именно на скалярных выраженияхВ SQL имеется несколько разновидностей скалярныхвыраженийК числу наиболее важных разновидностей относятся численные выражения; выражения со значениями-строками символов; выражения со значениями даты-времени; выражения со значениями-временными интервалами; булевские выраженияПриведем некоторые базовые спецификации и пояснения.20.05.2016Лекция 3.
Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM3Скалярные выражения (2) Общие синтаксические правила построения скалярныхвыраженийВ SQL:2003 имеются девять разновидностей выражений в соответствии сдевятью категориями типов данных, значения которых вырабатываютсяпри вычислении выраженияОграничимся обсуждением первых пяти разновидностей выражений20.05.2016Лекция 3. Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM4Скалярные выражения (3) В основе построения этих видов выражений лежитпервичное выражение, определяемое следующимсинтаксическим правилом: В пределах этого курса можно считать, что спецификациябеззнакового значения (unsigned_value_specification) – этовсегда литерал соответствующего типа или вызовниладической функции (например, CURRENT_USER)20.05.2016Лекция 3.
Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM5Скалярные выражения (4)При вычислении выражения V для строки таблицы каждая ссылка настолбец (column_reference) этой таблицы, непосредственно содержащаясяв V, рассматривается как ссылка на значение данного столбца в даннойстрокеАгрегатные функции (функции над множествами –set_function_specification) обсуждаются позжеЕсли первичное выражение является скалярным подзапросомscalar_subquery - подзапросом, результатом которого является таблица,состоящая из одной строки и одного столбцаи результат подзапроса пуст,20.05.2016то результат первичного выражения – неопределенное значениеЛекция 3.
Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM6Скалярные выражения (5) Численные выражения Численное выражение – это выражение, значение которогоотносится к числовому типу данных. Вот формальный синтаксисчисленного выражения: В численных выражениях SQL первичная составляющая(numeric_primary) является либо первичным выражением, либовызовом функции с численным значением (numeric_value_function)20.05.2016из этого следует, что в численные выражения могут входитьвыражения с переключателем и операции преобразования типовЛекция 3. Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM7Скалярные выражения (6) Вызовы функций с численным значением определяютсяследующими синтаксическими правилами: Достаточно подробно обсуждали функции определения позиции идлины по отношению к символьным и битовым строкам прирассмотрении соответствующих типов данных здесь приводится только уточненный синтаксис их вызова20.05.2016Лекция 3.
Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM8Скалярные выражения (7) Функция EXTRACT извлечения поля из значений дата-время илиинтервал позволяет получить в виде точного числа с масштабом 0значение любого поля (года, месяца, дня и т. д.) какой конкретный тип точных чисел будет выбран –определяется в реализации Функции ABS и MOD возвращают абсолютное значение числа иостаток от деления одного целого значения на другоесоответственно20.05.2016Лекция 3. Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM9Скалярные выражения (8)Выражения, значениями которых являются символьные или битовыестрокиВыражения символьных и битовых строк – это выражения, значениямикоторых являются символьные или битовые строкиСоответствующие конструкции определяются следующим синтаксисом:string_value_expression ::=character_value_expression | bit_value_expressioncharacter_value_expression ::= сoncatenation | character_factorconcatenation ::=character_value_expression || character_factorcharacter_factor ::= character_primary [ collate_clause ]character_primary ::=value_expression_primary | string_value_functionbit_value_expression ::= bit_concatenation | bit_factorbit_concatenation ::= bit_value_expression || bit_primary bit_primary::= value_expression_primary | string value function20.05.2016Лекция 3.
Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM10Скалярные выражения (9) Если не вдаваться в тонкости, смыслвыражений символьных и битовых строкпонятен из описания синтаксиса:единственная применимая для построениявыражений операция – это конкатенация,производящая «склейку» строк-операндов Более важно то, что первичнойсоставляющей выражения над строкамиможет быть как первичное скалярноевыражение, так и вызов функций,возвращающих строчные значения20.05.2016Лекция 3. Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM11Скалярные выражения (10) Репертуар и синтаксис вызова такихфункций определяются следующимиправилами:20.05.2016Лекция 3. Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM12Скалярные выражения (11)Основные полезные функции – выделение подстроки (SUBSTRING) изамена малых букв на заглавные и наоборот (UPPER и LOWER) – мыупоминали при рассмотрении типов символьных и битовых строкОбсуждение функции SUBSTRING ...
SIMILAR ... ESCAPE отложим доследующей лекцииДля символьных строк имеются еще четыре функции: CONVERT,TRANSLATE, TRIM и OVERLAYФункция CONVERT меняет кодировку символов в заданной строке,Способ задания правил перекодировки определяется в реализации.Функция TRANSLATE в соответствии с правилами трансляции «переводит»текстовую строку на другой языкпричем набор символов не меняетсяиспользуя набор символов целевого алфавитакодировка не меняетсяФункция TRIM «отсекает» последовательности указанного символа вначале, в конце или в конце и начале заданной строкиФункция OVERLAY заменяет указанную подстроку первого операндастрокой, заданной в качестве второго операнда20.05.2016Лекция 3. Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM13Скалярные выражения (12) Выражения даты-времени К выражениям даты-времени мы относим выражения,вырабатывающие значения типа дата-время и интервал Выражения даты-времени определяются следующимисинтаксическими правилами: Выражения строятся очень просто – на основе обычныхарифметических операций Более интересны первичные составляющие – вызовы функций,возвращающих значение дата-время20.05.2016Лекция 3.
Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM14Скалярные выражения (13) Эти вызовы определяются следующим синтаксисом: Приведенные синтаксические правила не нуждаются вкомментариях: можно получить текущую дату, а также текущее время сжелаемой точностью Отличие функций LOCALTIME и LOCALTIMESTAMP отCURRENT_TIME и CURRENT_TIMESTAMP, соответственно,состоит в том, что первая пара функций не возвращает смещениелокального времени от Гринвича20.05.2016Лекция 3.
Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM15Скалярные выражения (14)Синтаксис выражений со значениями типа интервал определяетсяследующими правилами:Квалификатор интервала указывается для того, чтобы явноспецифицировать единицу измерения интервалаПоддерживается только одна функция ABS (абсолютное значение),аргументом которой является выражение со значением типа интервал20.05.2016Лекция 3. Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM16Скалярные выражения (15)Булевские выраженияК булевским выражениям относятся выражения, вырабатывающиезначения булевского типабулевский тип языка SQL содержит три логических значения – true, false иunknownБулевские выражения определяются следующими синтаксическимиправилами:20.05.2016Лекция 3.
Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM17Скалярные выражения (16) Выражения вычисляются слева направо с учетом приоритетовопераций и круглых скобок Операции IS и IS NOT определяются следующими таблицамиистинности:20.05.2016Лекция 3. Общая характеристика оператораSELECT и организация списка ссылок натаблицы в разделе FROM18Скалярные выражения (17)Разные выражения с переключателем могут вырабатывать значенияразных типов в зависимости от типа данных элементовНачнем с синтаксиса:case_expression ::= case_abbreviation | case_specificationcase_abbreviation ::= NULLIF (value_expression, value_expression) |COALESCE (value_expression_comma_list)case specification ::= simple_case | searched_casesimple_case ::= CASE value_expression simple_when_clause_list [ELSE value_expression ] ENDsearched_case ::= CASE searched_when_clause_list [ ELSEvalue_expression ] ENDsimple_when_clause ::= WHEN value_expression THENvalue_expressionsearched_when_clause ::= WHEN conditional_expression THENvalue_expression20.05.2016Лекция 3.