©NIITФункции и соединения Урок 2 A / слайд
- Размер: 479 Кб
- Количество слайдов: 47
Описание презентации ©NIITФункции и соединения Урок 2 A / слайд по слайдам
©NIITФункции и соединения Урок 2 A / слайд 1 из 48 Цели урока В этом уроке вы узнаете как: • использовать функции • использовать различные типы соединений
©NIITФункции и соединения Урок 2 A / слайд 2 из 48 СРС 4_ 3 1. Какова функция выражения ТОР? 2. Какова функция ключевого слова DISTINCT? 3. Какова функция оператора CUBE? 4. Какова функция выражений COMPUTE и COMPUTE BY? 5. Какова функция ключевого слова HAVING?
©NIITФункции и соединения Урок 2 A / слайд 3 из 48 Отображение данных заглавными буквами, используя строковые функции Формулировка задачи: Требуется отчет, содержащий название газеты, имя контактного лица и телефоны для размещения объявления в различных газетах. Название газеты должно отображаться заглавными буквами.
©NIITФункции и соединения Урок 2 A / слайд 4 из 48 Решение 1. Создать формат выхода запроса 2. Составить запрос 3. Выполнить запрос 4. Проверить, что выход запроса соответствует требуемым результатам
©NIITФункции и соединения Урок 2 A / слайд 5 из 48 Создать формат выхода запроса • Результат: • Выход, требуемый в отчете, — название газеты (заглавными буквами), имя контактного лица и телефон из табл. Newspaper (Газета) • Заголовки столбцов, требуемые в отчете, — это c. Newspaper. Name, v. Contact. Person и c. Phone
©NIITФункции и соединения Урок 2 A / слайд 6 из 48 Составить запрос • Строковые функции применяются для форматирования данных согласно заданным требованиям • Синтаксис SELECT имя_функции (параметры) • Результат: • Информация имеется в табл. Newspaper (Газета). • Строковая функция, применяемая для отображения названий газет заглавными буквами — UPPER • Т. е. запрос, использующий команду SELECT, должен быть следующим: • SELECT ‘Newspaper Name’=UPPER (c. Newspaper. Name), v. Contact. Person, c. Phone FROM Newspaper
©NIITФункции и соединения Урок 2 A / слайд 7 из 48 Выполнить запрос • Действие: • В окне Query Analyzer набрать запрос • Выполнить запрос
©NIITФункции и соединения Урок 2 A / слайд 8 из 48 Проверить, что выход запроса соответствует требуемым результатам • Отображены все требуемые строки • Названия газет отображены заглавными буквами
©NIITФункции и соединения Урок 2 A / слайд 9 из 48 Добавление дней в дату, применяя операции над датой Формулировка задачи Предложенный предельный срок приема на работу из студенческого городка составляет 10 дней. со дня начала приема. Отобразить отчет, содержащий код университета, дату начала приема и предложенный компанией срок всем университетам.
©NIITФункции и соединения Урок 2 A / слайд 10 из 48 Решение 1. Создать формат выхода запроса 2. Составить запрос 3. Выполнить запрос 4. Проверить, что выход запроса соответствует требуемым результатам
©NIITФункции и соединения Урок 2 A / слайд 11 из 48 Создать формат выхода запроса • Результат: • Требуемый выход в отчете – код университета, дата начала приема и предложенный срок приема • Заголовки столбцов отчета — c. College. Code, d. Recruitment. Start. Date и Proposed. Deadline, равный 10 дней от начала приема
©NIITФункции и соединения Урок 2 A / слайд 12 из 48 Составить запрос • Строковые функции: применяются для обработки значений даты и времени, выполнения арифметических операций и синтаксического анализа даты (извлечение компонентов (день, месяц, год и т. п. ) • Синтаксис • SELECT операция_над_датой (параметры) • Результат: • Информация имеется в табл. Campus. Recruitment (Прием из студ. городка) • Операцией над датой, которая будет использоваться, является DAT
©NIITФункции и соединения Урок 2 A / слайд 13 из 48 Составить запрос (Продолжение) • Т. е. запрос, использующий команду SELECT, должен быть следующим: SELECT c. College. Code, d. Recruitment. Start. Date, ‘Proposed Deadline’ = DATEADD(dd, 10, d. Recruitment. Start. Date) FROM Campus. Recruitment
©NIITФункции и соединения Урок 2 A / слайд 14 из 48 Выполнить запрос • Действие: • В окне Query Analyzer набрать запрос • Выполнить запрос
©NIITФункции и соединения Урок 2 A / слайд 15 из 48 Проверить, что выход запроса соответствует требуемым результатам • Проверить, что: • Отображены требуемые столбцы • Предложенный предельный срок приема на работу из студенческого городка составляет 10 дней
©NIITФункции и соединения Урок 2 A / слайд 16 из 48 Округление значений математическими функциями Формулировка задачи: Объявлены тестовые оценки кандидатов. Helen White получила оценку 79, 9 и ей будет сообщено об этом. Должны отображаться ее имя, телефон и оценка. Оценку желательно округлить до ближайшего целого.
©NIITФункции и соединения Урок 2 A / слайд 17 из 48 Решение 1. Создать формат выхода запроса 2. Составить запрос 3. Выполнить запрос 4. Проверить, что выход запроса соответствует требуемым результатам
©NIITФункции и соединения Урок 2 A / слайд 18 из 48 Создать формат выхода запроса • Результат: • Требуемые выходные данные отчета – это имя, телефон и оценка кандидата • Заголовки столбцов в отчете — это v. First. Name, c. Phone, и Score
©NIITФункции и соединения Урок 2 A / слайд 19 из 48 Составить запрос • Математические функции: используются для выполнения числовых операций над математическими данными • Синтаксис ROUND (числовое_выражение, длина) • Результат: • Требуемая информация доступна в таблице External. Candidate • Применяемая функция — ROUN
©NIITФункции и соединения Урок 2 A / слайд 20 из 48 Составить запрос (Продолжение) • Т. е. запрос, использующий команду SELECT, должен быть следующим: SELECT v. First. Name, c. Phone, ‘Score’= ROUND(79. 9, 0) FROM External. Candidate WHERE v. First. Name=’Helen’
©NIITФункции и соединения Урок 2 A / слайд 21 из 48 Выполнить запрос • Действие: • В окне Query Analyzer набрать запрос • Выполнить запрос
©NIITФункции и соединения Урок 2 A / слайд 22 из 48 Проверить, что выход запроса соответствует требуемым результатам • Проверить, что оценки округлены до ближайшего числа
©NIITФункции и соединения Урок 2 A / слайд 23 из 48 Системные функции • Системные функции дают метод запроса системных таблиц SQL-сервера • Эти функции используются для доступа к базам SQL-сервера или к информации, относящейся к пользователю • Они позволяют быстро преобразовывать системную и объектную информацию без записи нескольких запросов
©NIITФункции и соединения Урок 2 A / слайд 24 из 48 Преобразование данных • Функция CONVERT изменяет тип данных, если SQL Server не принимает преобразование явно • Синтаксис CONVERT (datatype [(length)], expression [, style])
©NIITФункции и соединения Урок 2 A / слайд 25 из 48 Соединения • Соединение можно определить как операцию, включающую извлечение данных одновременно из более чем одной таблицы • Синтаксис SELECT имя_столбца, имя_столбца [, имя_столбца] FROM имя_таблицы [CROSS|INNER|[LEFT | RIGHT]OUTER] JOIN имя_таблицы [ON имя_таблицы. ref_имя_столбца оператор_соединения имя_таблицы. ref_имя_столбца] [WHERE условие_поиска]
©NIITФункции и соединения Урок 2 A / слайд 26 из 48 Соединения (продолжение) • Соединения делятся на следующие типы: • внутреннее соединение • внешнее соединение • перекрестное соединение • равное соединение • естественное соединение • самосоединение
©NIITФункции и соединения Урок 2 A / слайд 27 из 48 Отображение данных из двух таблиц применяя внутренние соединения Формулировка задачи Для анализа руководством требуются имена кандидатов и их агентств по приему на работу. Должен быть создан отчет с этими данными.
©NIITФункции и соединения Урок 2 A / слайд 28 из 48 Решение 1. Создать формат выхода запроса 2. Составить запрос 3. Выполнить запрос 4. Проверить, что выход запроса соответствует требуемым результатам
©NIITФункции и соединения Урок 2 A / слайд 29 из 48 Создать формат выхода запроса • Результат: • Требуемый выход из запроса – список имен кандидатов и названий агенств по приему, которые их направляют
©NIITФункции и соединения Урок 2 A / слайд 30 из 48 Составить запрос • Внутренние соединения • Синтаксис SELECT имя_столбца, имя_столбца [, имя_столбца] FROM имя_таблицы JOIN псевдоним_таблицы ON имя_таблицы. ref_имя_столбца оператор_join имя_таблицы. ref_имя_столбца • Декартово произведение: Соединение, включающее более одной таблицы без какого-либо условия в выражении ON, дает декартово произведение двух таблиц.
©NIITФункции и соединения Урок 2 A / слайд 31 из 48 Составить запрос (Продолжение) • Результат: • Информация имеется в табл. External. Candidate (Внешний кандидат) и Recruitment. Agencies (агенства) • Т. е. запрос, использующий команду SELECT, должен быть следующим: SELECT ‘Candidate Name’ = v. First. Name, ‘Recruitment Agency’ = c. Name FROM External. Candidate JOIN Recruitment. Agencies ON External. Candidate. c. Agency. Code = Recruitment. Agencies. c. Agency. Code
©NIITФункции и соединения Урок 2 A / слайд 32 из 48 Выполнить запрос • Действие: • В окне Query Analyzer набрать запрос • Выполнить запрос
©NIITФункции и соединения Урок 2 A / слайд 33 из 48 Проверить, что выход запроса соответствует требуемым результатам • Проверить, что: • Отображены требуемые столбцы из различных таблиц • Отображены требуемые строки
©NIITФункции и соединения Урок 2 A / слайд 34 из 48 Отображение данных из двух таблиц применяя внешние соединения Формулировка задачи Для анализа требуются имена всех кандидатов и их кадровых агентств. Должен быть создан отчет с этими данными.
©NIITФункции и соединения Урок 2 A / слайд 35 из 48 Решение 1. Создать формат выхода запроса 2. Составить запрос 3. Выполнить запрос 4. Проверить, что выход запроса соответствует требуемым результатам
©NIITФункции и соединения Урок 2 A / слайд 36 из 48 Создать формат выхода запроса Выход • Результат: • Требуемый выход из запроса – имена всех внешних кандидатов и их агенств (где это имеет место)
©NIITФункции и соединения Урок 2 A / слайд 37 из 48 Составить запрос • Внешние соединения • Внешнее соединение имеет место, когда результирующее множество содержит все строки из одной таблицы и соответствующие строки из другой • Синтаксис SELECT имя_столбца, имя_столбца [, имя_столбца] FROM имя_таблицы [LEFT | RIGHT] OUTER JOIN имя_таблицы ON имя_таблицы. ref_имя_столбца оператор_join имя_таблицы. ref_имя_столбца
©NIITФункции и соединения Урок 2 A / слайд 38 из 48 Составить запрос (Продолжение) • Результат: • Информация имеется в табл. External. Candidate (Внешний кандидат) и Recruitment. Agencies (агенства) • Т. е. запрос, использующий команду SELECT, должен быть следующим: SELECT v. First. Name, v. Last. Name, c. Name FROM External. Candidate LEFT OUTER JOIN Recruitment. Agencies ON External. Candidate. c. Agency. Code = Recruitment. Agencies. c. Agency. Code
©NIITФункции и соединения Урок 2 A / слайд 39 из 48 Выполнить запрос • Действие: • В окне Query Analyzer набрать запрос • Выполнить запрос
©NIITФункции и соединения Урок 2 A / слайд 40 из 48 Проверить, что выход запроса соответствует требуемым результатам • Действие: • Проверить, что: • Отображены требуемые столбцы • Отображены все строки из 1 -й таблицы • Отображены требуемые строки из 2 -й таблицы
©NIITФункции и соединения Урок 2 A / слайд 41 из 48 Перекрестное соединение • Соединение, включающее более одной таблицы, использующей ключевое слово CROSS, называется перекрестным соединением. • Пример SELECT * FROM Titles CROSS JOIN Publishers
©NIITФункции и соединения Урок 2 A / слайд 42 из 48 Равное соединение • Соединение, использующее звездочку (*) в списке SELECT и отображающее данные избыточного столбца в результирующем множестве, называется равным соединением • Пример SELECT * FROM Sales s JOIN Titles t ON s. Title_Id = t. Title_Id JOIN Publishers p ON t. Pub_Id = p. Pub_Id
©NIITФункции и соединения Урок 2 A / слайд 43 из 48 Естественное соединение • Соединение, ограничивающее данные избыточного столбца из результирующего множества, называется естественным соединением. • Пример SELECT t. Title, p. Pub_Name FROM Titles t JOIN Publishers p ON t. Pub_Id = p. Pub_Id
©NIITФункции и соединения Урок 2 A / слайд 44 из 48 Самосоединение • Соединение называется самосоединением, если одна строка в таблице коррелируется с др. строками в той же таблице • Пример SELECT t 1. title, t 2. title , t 1. price FROM titles t 1 JOIN titles t 2 ON t 1. price=t 2. price WHERE t 1. price=2.
©NIITФункции и соединения Урок 2 A / слайд 45 из 48 Выводы Из этого урока Вы узн али, что: • SQL Server использует строковые функции, которые могут использоваться как часть любого символьного выражения. • SQL Server выполняет арифметические операции над датой и синтаксический анализ даты. • Функция CONVERT изменяет тип данных, если SQL Server не принимает преобразование явно. • SQL Server дает метод извлечения данных из более чем одной таблицы, используя соединения. • Для отправки или получения сообщений по электронной почте, запросите адрес электронной почты и доступ к программе-клиенту работы с почтой. • Интернет предоставляет пользователям множество услуг, включая: • Электронную почту (e-mail) • Группы новостей • Службы передачи файлов • Web -сайт — это набор web -страниц определенной тематики, содержащий стартовую страницу, также называемую домашней. • Адрес web -сайта уникально идентифицирует этот сайт. • Вы можете переходить на другие страницы сайта, посредством ссылок на домашней странице, называемых гиперссылками.
©NIITФункции и соединения Урок 2 A / слайд 46 из 48 Выводы (продолжение) • Во внутреннем соединении, данные из нескольких таблиц отображаются после сравнения значений, представленных в общем столбце. Отображаются только строки со значениями, отвечающими условию соединения в общем столбце. • Внешнее соединение имеет место, когда результирующее множество содержит все строки из одной таблицы и соответствующие строки из другой. • Соединение, включающее более одной таблицы, использующей ключевое слово CROSS, называется перекрестным соединением. • Соединение, использующее звездочку (*) в списке SELECT и отображающее данные избыточного столбца в результирующем множестве, называется равным соединением.
©NIITФункции и соединения Урок 2 A / слайд 47 из 48 Выводы (продолжение) • Соединение, ограничивающее данные избыточного столбца из результирующего множества, называется естественным соединением. • Соединение называется самосоединением, если одна строка в таблице коррелируется с др. строками в той же таблице.