Слайд 2Функции и соединения
Урок 2A / слайд из 48
СРС 4_3
Какова функция выражения
ТОР?
Какова функция ключевого слова DISTINCT?
Какова функция оператора CUBE?
Какова функция выражений COMPUTE и COMPUTE BY?
5. Какова функция ключевого слова HAVING?
Слайд 3Функции и соединения
Урок 2A / слайд из 48
Отображение данных заглавными буквами,
используя строковые функции
Формулировка задачи:
Требуется отчет, содержащий название газеты, имя контактного лица и телефоны для размещения объявления в различных газетах. Название газеты должно отображаться заглавными буквами.
Слайд 4Функции и соединения
Урок 2A / слайд из 48
Решение
Создать формат выхода запроса
Составить
запрос
Выполнить запрос
Проверить, что выход запроса соответствует требуемым результатам
Слайд 5Функции и соединения
Урок 2A / слайд из 48
Создать формат выхода запроса
Результат:
Выход,
требуемый в отчете, - название газеты (заглавными буквами), имя контактного лица и телефон из табл. Newspaper (Газета)
Заголовки столбцов, требуемые в отчете, - это cNewspaperName, vContactPerson и cPhone
Слайд 6Функции и соединения
Урок 2A / слайд из 48
Составить запрос
Строковые функции применяются
для форматирования данных согласно заданным требованиям
Синтаксис
SELECT имя_функции (параметры)
Результат:
Информация имеется в табл. Newspaper (Газета).
Строковая функция, применяемая для отображения названий газет заглавными буквами - UPPER
Т.е. запрос, использующий команду SELECT, должен быть следующим:
SELECT 'Newspaper Name'=UPPER (cNewspaperName), vContactPerson, cPhone FROM Newspaper
Слайд 7Функции и соединения
Урок 2A / слайд из 48
Выполнить запрос
Действие:
В окне Query
Analyzer набрать запрос
Выполнить запрос
Слайд 8Функции и соединения
Урок 2A / слайд из 48
Проверить, что выход запроса
соответствует требуемым результатам
Отображены все требуемые строки
Названия газет отображены заглавными буквами
Слайд 9Функции и соединения
Урок 2A / слайд из 48
Добавление дней в дату,
применяя операции над датой
Формулировка задачи
Предложенный предельный срок приема на работу из студенческого городка составляет 10 дней. со дня начала приема. Отобразить отчет, содержащий код университета, дату начала приема и предложенный компанией срок всем университетам.
Слайд 10Функции и соединения
Урок 2A / слайд из 48
Решение
Создать формат выхода запроса
Составить
запрос
Выполнить запрос
Проверить, что выход запроса соответствует требуемым результатам
Слайд 11Функции и соединения
Урок 2A / слайд из 48
Создать формат выхода запроса
Результат:
Требуемый
выход в отчете – код университета, дата начала приема и предложенный срок приема
Заголовки столбцов отчета - cCollegeCode, dRecruitmentStartDate и ProposedDeadline, равный 10 дней от начала приема
Слайд 12Функции и соединения
Урок 2A / слайд из 48
Составить запрос
Строковые функции: применяются
для обработки значений даты и времени, выполнения арифметических операций и синтаксического анализа даты (извлечение компонентов (день, месяц, год и т.п.)
Синтаксис
SELECT операция_над_датой (параметры)
Результат:
Информация имеется в табл. CampusRecruitment (Прием из студ.городка)
Операцией над датой, которая будет использоваться, является DATEADD
Слайд 13Функции и соединения
Урок 2A / слайд из 48
Составить запрос (Продолжение)
Т.е. запрос,
использующий команду SELECT, должен быть следующим:
SELECT cCollegeCode, dRecruitmentStartDate, 'Proposed
Deadline' = DATEADD(dd, 10, dRecruitmentStartDate)
FROM CampusRecruitment
Слайд 14Функции и соединения
Урок 2A / слайд из 48
Выполнить запрос
Действие:
В окне Query
Analyzer набрать запрос
Выполнить запрос
Слайд 15Функции и соединения
Урок 2A / слайд из 48
Проверить, что выход запроса
соответствует требуемым результатам
Проверить, что:
Отображены требуемые столбцы
Предложенный предельный срок приема на работу из студенческого городка составляет 10 дней
Слайд 16Функции и соединения
Урок 2A / слайд из 48
Округление значений математическими функциями
Формулировка
задачи:
Объявлены тестовые оценки кандидатов. Helen White получила оценку 79,9 и ей будет сообщено об этом. Должны отображаться ее имя, телефон и оценка. Оценку желательно округлить до ближайшего целого.
Слайд 17Функции и соединения
Урок 2A / слайд из 48
Решение
Создать формат выхода запроса
Составить
запрос
Выполнить запрос
Проверить, что выход запроса соответствует требуемым результатам
Слайд 18Функции и соединения
Урок 2A / слайд из 48
Создать формат выхода запроса
Результат:
Требуемые
выходные данные отчета – это имя, телефон и оценка кандидата
Заголовки столбцов в отчете - это vFirstName, cPhone, и Score
Слайд 19Функции и соединения
Урок 2A / слайд из 48
Составить запрос
Математические функции: используются
для выполнения числовых операций над математическими данными
Синтаксис
ROUND (числовое_выражение, длина)
Результат:
Требуемая информация доступна в таблице ExternalCandidate
Применяемая функция - ROUND
Слайд 20Функции и соединения
Урок 2A / слайд из 48
Составить запрос (Продолжение)
Т.е. запрос,
использующий команду SELECT, должен быть следующим:
SELECT vFirstName, cPhone,'Score'= ROUND(79.9,0)
FROM ExternalCandidate
WHERE vFirstName='Helen'
Слайд 21Функции и соединения
Урок 2A / слайд из 48
Выполнить запрос
Действие:
В окне Query
Analyzer набрать запрос
Выполнить запрос
Слайд 22Функции и соединения
Урок 2A / слайд из 48
Проверить, что выход запроса
соответствует требуемым результатам
Проверить, что оценки округлены до ближайшего числа
Слайд 23Функции и соединения
Урок 2A / слайд из 48
Системные функции
Системные функции дают
метод запроса системных таблиц SQL-сервера
Эти функции используются для доступа к базам SQL-сервера или к информации, относящейся к пользователю
Они позволяют быстро преобразовывать системную и объектную информацию без записи нескольких запросов
Слайд 24Функции и соединения
Урок 2A / слайд из 48
Преобразование данных
Функция CONVERT
изменяет тип данных, если SQL Server не принимает преобразование явно
Синтаксис
CONVERT (datatype [(length)], expression [, style])
Слайд 25Функции и соединения
Урок 2A / слайд из 48
Соединения
Соединение можно определить
как операцию, включающую извлечение данных одновременно из более чем одной таблицы
Синтаксис
SELECT имя_столбца, имя_столбца [,имя_столбца]
FROM имя_таблицы [CROSS|INNER|[LEFT | RIGHT]OUTER] JOIN
имя_таблицы
[ON имя_таблицы.ref_имя_столбца оператор_соединения
имя_таблицы.ref_имя_столбца]
[WHERE условие_поиска]
Слайд 26Функции и соединения
Урок 2A / слайд из 48
Соединения (продолжение)
Соединения делятся
на следующие типы:
внутреннее соединение
внешнее соединение
перекрестное соединение
равное соединение
естественное соединение
самосоединение
Слайд 27Функции и соединения
Урок 2A / слайд из 48
Отображение данных из двух
таблиц применяя внутренние соединения
Формулировка задачи
Для анализа руководством требуются имена кандидатов и их агентств по приему на работу. Должен быть создан отчет с этими данными.
Слайд 28Функции и соединения
Урок 2A / слайд из 48
Решение
Создать формат выхода запроса
Составить
запрос
Выполнить запрос
Проверить, что выход запроса соответствует требуемым результатам
Слайд 29Функции и соединения
Урок 2A / слайд из 48
Создать формат выхода запроса
Результат:
Требуемый
выход из запроса – список имен кандидатов и названий агенств по приему, которые их направляют
Слайд 30Функции и соединения
Урок 2A / слайд из 48
Составить запрос
Внутренние соединения
Синтаксис
SELECT
имя_столбца, имя_столбца [,имя_столбца]
FROM имя_таблицы JOIN псевдоним_таблицы
ON имя_таблицы.ref_имя_столбца
оператор_join имя_таблицы.ref_имя_столбца
Декартово произведение: Соединение, включающее более одной таблицы без какого-либо условия в выражении ON, дает декартово произведение двух таблиц.
Слайд 31Функции и соединения
Урок 2A / слайд из 48
Составить запрос (Продолжение)
Результат:
Информация имеется
в табл. ExternalCandidate (Внешний кандидат) и RecruitmentAgencies (агенства)
Т.е. запрос, использующий команду SELECT, должен быть следующим:
SELECT 'Candidate Name' = vFirstName, 'Recruitment Agency' = cName
FROM ExternalCandidate JOIN RecruitmentAgencies
ON ExternalCandidate.cAgencyCode = RecruitmentAgencies.cAgencyCode
Слайд 32Функции и соединения
Урок 2A / слайд из 48
Выполнить запрос
Действие:
В окне Query
Analyzer набрать запрос
Выполнить запрос
Слайд 33Функции и соединения
Урок 2A / слайд из 48
Проверить, что выход запроса
соответствует требуемым результатам
Проверить, что:
Отображены требуемые столбцы из различных таблиц
Отображены требуемые строки
Слайд 34Функции и соединения
Урок 2A / слайд из 48
Отображение данных из двух
таблиц применяя внешние соединения
Формулировка задачи
Для анализа требуются имена всех кандидатов
и их кадровых агентств. Должен быть создан отчет с этими данными.
Слайд 35Функции и соединения
Урок 2A / слайд из 48
Решение
Создать формат выхода запроса
Составить
запрос
Выполнить запрос
Проверить, что выход запроса соответствует требуемым результатам
Слайд 36Функции и соединения
Урок 2A / слайд из 48
Создать формат выхода запроса
Выход
Результат:
Требуемый выход из запроса – имена всех внешних кандидатов и их агенств (где это имеет место)
Слайд 37Функции и соединения
Урок 2A / слайд из 48
Составить запрос
Внешние соединения
Внешнее
соединение имеет место, когда результирующее множество содержит все строки из одной таблицы и соответствующие строки из другой
Синтаксис
SELECT имя_столбца, имя_столбца [,имя_столбца]
FROM имя_таблицы [LEFT | RIGHT] OUTER JOIN имя_таблицы
ON имя_таблицы.ref_имя_столбца
оператор_join имя_таблицы.ref_имя_столбца
Слайд 38Функции и соединения
Урок 2A / слайд из 48
Составить запрос (Продолжение)
Результат:
Информация имеется
в табл. ExternalCandidate (Внешний кандидат) и RecruitmentAgencies (агенства)
Т.е. запрос, использующий команду SELECT, должен быть следующим:
SELECT vFirstName, vLastName, cName
FROM ExternalCandidate
LEFT OUTER JOIN RecruitmentAgencies
ON ExternalCandidate.cAgencyCode =
RecruitmentAgencies.cAgencyCode
Слайд 39Функции и соединения
Урок 2A / слайд из 48
Выполнить запрос
Действие:
В окне Query
Analyzer набрать запрос
Выполнить запрос
Слайд 40Функции и соединения
Урок 2A / слайд из 48
Проверить, что выход запроса
соответствует требуемым результатам
Действие:
Проверить, что:
Отображены требуемые столбцы
Отображены все строки из 1-й таблицы
Отображены требуемые строки из 2-й таблицы
Слайд 41Функции и соединения
Урок 2A / слайд из 48
Перекрестное соединение
Соединение, включающее
более одной таблицы, использующей ключевое слово CROSS, называется перекрестным соединением.
Пример
SELECT *
FROM Titles CROSS JOIN Publishers
Слайд 42Функции и соединения
Урок 2A / слайд из 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
Слайд 43Функции и соединения
Урок 2A / слайд из 48
Естественное соединение
Соединение, ограничивающее
данные избыточного столбца из результирующего множества, называется естественным соединением.
Пример
SELECT t.Title, p.Pub_Name
FROM Titles t JOIN Publishers p
ON t.Pub_Id = p.Pub_Id
Слайд 44Функции и соединения
Урок 2A / слайд из 48
Самосоединение
Соединение называется самосоединением, если
одна строка в таблице коррелируется с др. строками в той же таблице
Пример
SELECT t1.title,t2.title , t1.price
FROM titles t1 JOIN titles t2 ON t1.price=t2.price
WHERE t1.price=2.99
Слайд 45Функции и соединения
Урок 2A / слайд из 48
Выводы
Из этого урока
Вы узн али, что:
SQL Server использует строковые функции, которые могут использоваться как часть любого символьного выражения.
SQL Server выполняет арифметические операции над датой и синтаксический анализ даты.
Функция CONVERT изменяет тип данных, если SQL Server не принимает преобразование явно.
SQL Server дает метод извлечения данных из более чем одной таблицы, используя соединения.
Для отправки или получения сообщений по электронной почте, запросите адрес электронной почты и доступ к программе-клиенту работы с почтой.
Интернет предоставляет пользователям множество услуг, включая:
Электронную почту (e-mail)
Группы новостей
Службы передачи файлов
Web-сайт — это набор web-страниц определенной тематики, содержащий стартовую страницу, также называемую домашней.
Адрес web-сайта уникально идентифицирует этот сайт.
Вы можете переходить на другие страницы сайта, посредством ссылок на домашней странице, называемых гиперссылками.
Слайд 46Функции и соединения
Урок 2A / слайд из 48
Выводы (продолжение)
Во внутреннем
соединении, данные из нескольких таблиц отображаются после сравнения значений, представленных в общем столбце. Отображаются только строки со значениями, отвечающими условию соединения в общем столбце.
Внешнее соединение имеет место, когда результирующее множество содержит все строки из одной таблицы и соответствующие строки из другой.
Соединение, включающее более одной таблицы, использующей ключевое слово CROSS, называется перекрестным соединением.
Соединение, использующее звездочку (*) в списке SELECT и отображающее данные избыточного столбца в результирующем множестве, называется равным соединением.