1 БАЗЫ ДАННЫХ Использование SQL для построения запросов. ЗАНЯТИЕ 6 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа І-ІІІ ступеней.

Презентация:



Advertisements
Похожие презентации
1 БАЗЫ ДАННЫХ Создание сложных запросов. Запросы на нескольких таблицах. ЗАНЯТИЕ 7 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа.
Advertisements

1 Лекция 6 Команды категории извлечения данных языка структурированных запросов SQL План лекции Выборка определенных столбцов таблицы Устранение избыточных.
Выражения унарные (унарный минус) арифметические (+, -, *, /) сравнения (, =, =, , LIKE, BETWEEN...) конкатенации (||) логические (NOT, AND, OR)
История развития языка SQL Structured Query Language ɛ skju ɛ l ɛ skju ɛ l или si:kwəlsi:kwəl DML (Data Manipulation Language) DDL (Data Definition Language)
Базы данных Язык запросов SQL. Команда SELECT. Команда SELECT – выборка данных Общий синтаксис: SELECT [{ ALL | DISTINCT }] { список_вывода | * } FROM.
СУБД Access Запросы Автор: Тутыгин В.С.. Назначение запросов Запросы обеспечивают простой доступ к определенному подмножеству записей одной или нескольких.
Языки манипулирования данными. Общая характеристика Язык, в котором можно (по крайней мере) моделировать исчисление с переменными- кортежами, либо, что.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
Язык SQL
1 Основы SQL: MySQL Будем использовать MySQL СУБД с открытым кодом Бесплатная версия (Community Edition) – на В Linux-дистрибутивах.
СУБД 5. SQL для выборки данных. 2 SELECT Обработка элементов оператора SELECT выполняется в следующей последовательности: FROM – определяются имена используемых.
SQL SQL (Structured Query Language Структурированный язык запросов) язык управления базами данных для реляционных баз данных.
Вставка INSERT INTO table (column, column,...) VALUES (expr, expr...) LOAD DATA INFILE "C:\\tmp\\file.txt" INTO TABLE table.
СУБД Microsoft Access 2003 Элементы языка SQL. Язык SQL SQL (Structured Query Language) – структурированный язык запросов Язык SQL применяется во многих.
Основы SQL Запросы к базе данных. Что такое база данных SQL? SQL (Structured Query Language - «Структурированный язык запросов») - универсальный компьютерный.
Базы данных Язык запросов SQL. Команда SELECT (продолжение)
СУБД MySQL - клиент-серверная СУБД Числовые(целые,действительные) Существует несколько разных типов целых чисел, различающихся количеством байтов данных,
1 TRANSACT-SQL. Лекция 3. © Куркурин Николай Дмитриевич. (906) Microsoft SQL Server 2000.
Тема 6. Технология разработки реляционной модели данных Вопросы 1.Объекты реляционных БД, терминология 2.Разработка структуры БД 3.Нормализация отношений.
SQL Лекция 3. DDL (Data definition language). Язык определения данных (DDL) является частью SQL, дающей пользователю возможность создавать различные объекты.
Транксрипт:

1 БАЗЫ ДАННЫХ Использование SQL для построения запросов. ЗАНЯТИЕ 6 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа І-ІІІ ступеней 60 Харьковского городского совета Харьковской области

2 Цель: Содержание: Ознакомится со структурированным языком запросов SQL и научиться использовать простые предикаты для обращения с запросами к базам данных. Стандарт ANSI языка SQL. Терминология. Создание запроса. Команда SELECT. Параметр WHERE. Реляционные операторы и булевые операторы.

3 Язык запросов SQL SQL 1989 SQL 1989 SQL SQL SQL SQL Стандарт SQL определен ANSI (Американским национальным институтом стандартов) и ISO (Международной организацией по стандартизации)

4 Схема взаимодействия пользователя с БД в ранних СУБД ПользовательПрограммист База данных Информационные потребности Написание и запуск программ обработки

5 Схема взаимодействия пользователя с БД через язык баз данных Пользователь Информационные потребности Интерпретация на язык машинных кодов База данных Машина вывода Язык базы данных

6 SQL DML Язык манипулирования данными Select, Insert, Update, Delete … DDL Язык определения данных Create/drop table, create/drop index, create/drop view… DCL Язык управления данными Grant, Revoke … Разделы языка SQL

7 Data, Time; Data, Time; Integer (Int) - целое; Integer (Int) - целое; Decimal (Dec) – десятичное; Decimal (Dec) – десятичное; Char(кол-во символов),Varchar(мах кол-во символов). Char(кол-во символов),Varchar(мах кол-во символов). Типы данных стандарта SQL Типы данных в СУБД Access Типы данных в СУБД Paradox

ЗАПРОС – команда, которая адресуется к Базе Данных для вывода требуемой информации из таблиц 8 SELECT перечень требуемой информации FROM имя таблицы ; SELECT City FROM S; Команда SELECT

9 Синтаксис команды SELECT SELECT * | [DISTINCT | ALL].,.. FROM { [ ].,.. [ WHERE ]} [ GROUP BY { | }.,..] [ HAVING ] [ ORDER BY { | }.,.. [ASC | DESC]] [ UNION [ALL] SELECT...]

10 SELECT SNum, SName, City, Comm FROM S; SELECT SNum, SName, City, Age, Comm FROM S; SELECT * FROM S; Запрос 1: вывести выборочно поля таблицы. Результат: Запрос 2: вывести всю информацию о служащих. Оператор * заменяет список всех полей таблицы. Вывод полей таблицы в запросе

11 SELECT DISTINCT City FROM S; SELECT * FROM S WHERE City=Харьков; Запрос 3: вывести города, в которых проживают служащие. Результат: Запрос 4: вывести всю информацию о служащих, проживающих в городе Харьков. Аргумент DISTINCT - удаляет избыточные данные. Предложение WHERE - накладывает ограничение на выборку. Результат: Аргумент DISTINCT

12 SELECT SName FROM S WHERE Comm>0.12; SELECT * FROM S WHERE NOT City=Москва AND Comm>=0.14; Запрос 5: вывести имена служащих, комиссионные которых выше 12%. Результат: Запрос 6: вывести информацию о служащих, которые не живут в городе «Москва», но имеют комиссионные не ниже 14%. Использование в предложении WHERE: реляционных операторов (=, >, =, ); булевых операторов (AND, OR, NOT). Результат: Предложение WHERE

13 SELECT SName FROM S WHERE City=Киев OR City=Москва; Запрос 7: вывести имена служащих, проживающих в Киеве или в Москве. Результат: Запрос 8: вывести всю информацию о служащих с номерами 102, 107, 111 и оператор IN (определяет набор значений для поля, которые могут попасть в результат вывода); SELECT SName FROM S WHERE City IN (Киев,Москва); SELECT * FROM S WHERE SNum IN (102, 107, 111, 112); Использование специальных операторов в WHERE

14 Запрос 9: вывести информацию о служащих с комиссионными больше 10%, но меньше 14%. Результат: оператор BETWEEN (определяет диапазон для значений поля); SELECT * FROM S WHERE Comm BETWEEN 0.12 AND 0.14; SELECT * FROM S WHERE (Comm BETWEEN 0.12 AND 0.14) AND NOT Comm IN (0.12, 0.14); SELECT * FROM S WHERE Comm>=0.12 AND Comm

15 Запрос 10: вывести информацию о служащих, проживающих в городах, начинающихся на букву М. Результат: оператор LIKE (накладывает маску на значения поля); / _ – заменяет один символ; % – 0 или несколько символов/ SELECT * FROM S WHERE City LIKE М%; Запрос 11: вывести информацию о служащих, в именах которых встречается бувка «р». SELECT * FROM S WHERE SName LIKE Р_% OR SName LIKE _%р%; оператор NULL (указывает на отсутствие значения ) Запрос 12: вывести информацию о служащих, для которых не известен возраст. SELECT * FROM S WHERE Age IS NULL; Операторы LIKE и NULL

16 SELECT Sname, City, Comm*100 FROM S; SELECT Служащий, Sname, проживает в городе, City FROM S; Запрос 13: вывести имена служащих, города их проживания и комиссионные. Результат: Запрос 14: вывести информацию о служащих с пояснениями. использование скалярных выражений использование текста в выводе Результат: Формирование вывода запроса

17 SELECT * FROM S ORDER BY Comm ASC; Запрос 15: вывести информацию о служащих, упорядочив ее по возрастанию комиссионных. Результат: Запрос 16: вывести информацию о служащих города Киев в порядке убывания возраста. - ASC – по возрастанию (используется по умолчанию); - DESC – по убыванию. SELECT * FROM S ORDER BY Comm; SELECT * FROM S WHERE City=Киев ORDER BY Age DESC; SELECT * FROM S WHERE City=Киев ORDER BY 4 DESC; Упорядочивание результатов вывода /ORDER BY/

18 - COUNT – считает количество строк или не-NULL значений поля; SUM – выдает арифметическую сумму всех выбранных значений поля; AVG – производит усреднение всех выбранных значений поля; MAX – выводит наибольшее из значений поля; MIN – выводит наименьшее значение из поля. Агрегатные функции Агрегатная функция (групповая операция) выдает одиночное значение для группы записей таблицы. SELECT агрегатная функция(наименование поля) FROM имя таблицы;

19 SELECT COUNT (SNum) FROM S; Запрос 17: посчитать количество служащих в таблице. Результат: Оператор * позволяет посчитать количество строк в таблице. SELECT COUNT (DISTINCT City) FROM S; Запрос 18: посчитать количество городов, в которых проживают служащие. Результат: Запрос 19: посчитать количество клиентов в таблице. SELECT COUNT (*) FROM С; Функция COUNT

20 SELECT AVG (Comm) FROM S; Запрос 20: посчитать средний размер комиссионных служащих. SELECT MAX (Age) FROM S; Запрос 21: найти максимальный возраст служащих. Результат: Запрос 22: вывести имя первого по алфавиту служащего. SELECT MIN (SName) FROM S; Результат: Функции AVG, MAX и MIN

21 SELECT City, AVG (Comm) FROM S GROUP BY City; Запрос 23: по каждому городу посчитать средний размер комиссионных служащих. Предложение GROUP BY (позволяет выделить группу записей для проведения групповой операции): Результат: Предложение GROUP BY

22 SELECT Age, COUNT (SNum) FROM S GROUP BY Age; Запрос 24: по каждой возрастной группе посчитать количество служащих, относящейся к ней. Результат: Запрос 25: вывести статистику о группах служащих с одинаковыми размерами комиссионных по городах. SELECT City, Comm, COUNT(SNum) FROM S GROUP BY City, Comm; Результат: Запросы с GROUP BY

23 Запрос 28: вывести информацию по городам и количестве служащих в них, если это количество больше одного. Предложение HAVING (накладывает ограничения на вывод групповых записей) Результат: Запрос 29: вывести информацию о городах, средние комиссионные в которых не ниже 13%. Результат: SELECT City, COUNT(SNum) FROM S GROUP BY City HAVING COUNT(SNum)>1 ; SELECT City, AVG(Comm) FROM S GROUP BY City HAVING AVG(Comm)>0.13 ;