Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Дополнительные сведения




СПРАВОЧНИК ПО SQL

(для Access)

 


Оглавление

Инструкция SELECT … FROM... 4

Простейшая инструкция SELECT … FROM... 4

Использование псевдонимов таблиц. 5

Использование псевдонимов полей. 5

Применение вычислений в полях. 6

Запрос на создание таблицы. Инструкция SELECT...INTO…FROM... 7

Общая инструкция SELECT. 8

Предложение ORDER BY.. 9

Предложение WHERE.. 10

Простой отбор. Операции отношения (=, <, >, <>, >=, <=) 10

Применение AND, OR.. 11

Отбор с использованием логических выражений IS NULL. 11

Применение BETWEEN … AND /(NOT BETWEEN…AND). 12

Применение IN (NOT IN). 13

Особенности работы с символами даты.. 15

Статистические функции. 17

Функция Count 18

Функция Sum.. 19

Функция Avg. 20

Функции Min, Max. 21

Предложение GROUP BY.. 22

Предложение HAVING.. 24

Инструкция SELECT [предикат] 25

Инструкция UPDATE.. 28

Инструкция: INSERT INTO (для добавления одной или нескольких записей) 29

Инструкция: DELETE (запрос на удаление записей) 31

Операции LEFT JOIN, RIGHT JOIN (внешнее соединение записей) 32

Операция INNER JOIN (внутреннее соединение записей) 34

Подчиненные запросы SQL.. 36

Использование подзапросов возвращающих одно значение. 37

Использование подзапросов возвращающих несколько значений. 37


Access SQL

Язык SQL (Structured Query Language – язык структурированных запросов) представляет собой наиболее распространенный язык управления базами данных типа клиент-сервер.

 

В терминологии SQL запрос представляет собой инструкцию, то есть набор команд, определенным образом влияющих на отбор данных.

 

Как найти режим SQL


Инструкция SELECT … FROM

По этой инструкции возвращаются данные из базы данных в виде набора записей.

Простейшая инструкция SELECT … FROM

Синтаксис

SELECT имена полей

FROM имена таблиц;

 

 

Элемент Описание
имена полей Имена полей, из которых должны быть отобраны данные. Если включить несколько полей, они будут извлекаться в указанном порядке.  
имена таблиц Имена одной или нескольких таблиц, которые содержат отбираемые данные.

 

1. Простейший запрос для одной таблицы.

SELECT поле1, поле2,…,поле7

FROM таблица;

 

SELECT * (*-означает, что будут показаны все поля)

FROM таблица;

 

2. Простейший запрос для двух таблиц

SELECT таблица1.поле1, таблица2. поле1, …, таблица1.полеN

FROM таблица1, таблица2;

 

Примечание: Имя таблицы необходимо применять в том случае: если имена полей в таблицах одинаковы.

 

[Оглавление]

Использование псевдонимов таблиц

SELECT таблица1.поле1, таблица2.поле1 SELECT T1. поле1, T2. поле1

FROM таблица1, таблица2; FROM таблица1 T1, таблица2 T2;

 

Использование псевдонимов полей.

 

SELECT поле1, поле2, поле3 AS Фамилия

FROM таблица;

Внимание!!!

Имена полей, которые содержат пробелы или знаки препинания, необходимо заключать в квадратные скобки ([ ]). Например

SELECT [ Год рождения ] SELECT [ Год рождения ] AS Год

Пример: Простейший запрос для одной таблицы с использованием псевдонима поля.

 

SELECT [ Фамилия студента ] AS Фамилия, Оценка

FROM Студенты;

Студенты

Фамилия студента Ак.Гр Оценка   Фамилия Оценка
Смирнов       Смирнов  
Михайлов       Михайлов  
Синицын       Синицын  
Панов       Панов  

[Оглавление]

Применение вычислений в полях.

Арифметические выражения используются для расчета значений вычисляемых полей. При формировании вычисляемых полей следует придерживаться правил написания выражений. Выражение пишется вместо имени поля.

 

Пример

SELECT Товар, Количество * Цена

FROM Товары;

Товары

Товар Количество Цена   Товар ???????
Шампанское       Шампанское  
Торт       Торт  
Кока-кола       Кока-кола  
Фанта       Фанта  
Пиво       Пиво  

Если вычисляемому столбцу необходимо присвоить имя, то запрос выглядит следующим образом:

SELECT Товар, Количество * Цена AS Стоимость

FROM Товары;

Товары

Товар Количество Цена   Товар Стоимость
Шампанское       Шампанское  
Торт       Торт  
Кока-кола       Кока-кола  
Фанта       Фанта  
Пиво       Пиво  

[Оглавление]

Запрос на создание таблицы. Инструкция SELECT...INTO…FROM

До сих пор инструкция SELECT создавала виртуальную таблицу, которая не сохранялась в базе данных. Для создания реальной таблицы как результат обработки существующих таблиц, используется запрос SELECT...INTO…FROM

Синтаксис

SELECT поле1, поле2,...

INTO новая Таблица

FROM Таблица1,Таблица2…,

Ниже перечислены аргументы инструкции SELECT...INTО ….FROM:

Элемент Описание
поле1, поле2 …………. Имена полей, которые следует скопировать в новую таблицу.  
Новая Таблица …….. Имя создаваемой таблицы. Это имя должно удовлетворять стандартным правилам именования. Если новая Таблица совпадает с именем существующей таблицы, возникает перехватываемая ошибка.
   
Таблица1,Таблица2…, Имена существующих таблиц, из которой отбираются записи. Это может быть одна таблица, несколько таблиц или запрос.

Дополнительные сведения

Запрос на создание таблицы можно использовать для архивирования записей, создания резервных копий таблицы, копий для экспорта в другую базу данных, а также в качестве основы отчета, отображающего данные за конкретный период времени. Например, можно создать отчет «Ежемесячные продажи по областям», выполняя каждый месяц один и тот же запрос на создание таблицы.

 

Примечания

· При создании таблицы поля в новой таблице наследуют типы данных и размеры базовых полей; никакие другие свойства таблиц и полей не передаются.

· Чтобы узнать, какие записи будут отобраны при выполнении запроса на создание таблицы, сначала просмотрите результаты инструкции SELECT, использующей те же условия отбора.

Пример

SELECT Фамилия, Оклад

INTO Отчет

FROM Сотрудники;

Сотрудники Отчет

Фамилия Оклад Отдел   Фамилия Оклад
ЗИМЕНС       ЗИМЕНС  
ИВАНОВ       ИВАНОВ  
ИГЛА       ИГЛА  
ИНСТРУМЕНТОВ       ИНСТРУМЕНТОВ  

[Оглавление]

Общая инструкция SELECT

SELECT [предикат] имя поля,… / [таблица.]имя поля,…, / псевдонимы полей

FROM имена таблиц
[WHERE... ]

[ORDER BY... ]
[GROUP BY... ]
[HAVING... ]
[WITH OWNERACCESS OPTION]

[Оглавление]
Предложение ORDER BY

Сортирует записи, полученные в результате запроса, в порядке возрастания или убывания на основе значений указанного поля или полей.

Синтаксис

SELECT списокПолей
FROM таблица
WHERE условиеОтбора
ORDER BY поле1 [ASC | DESC ] [, поле2 [ASC | DESC ]] …..

поле1, поле2 ……. Имена полей, по которым сортируются записи.

ASC ……………….. сортировки по возрастанию (от «A» до «Я» и от 0 до 9).

DESC ……………… сортировки по убыванию (от «Я» до «А» и от 9 до 0).

 

По умолчанию используется порядок сортировки по возрастанию (от «A» до «Я» и от 0 до 9).

 

Предложение ORDER BY может содержать несколько полей. Сначала записи сортируются по первому полю в списке ORDER BY. Затем записи, имеющие совпадающие значения в первом поле, сортируются по второму полю и т. д.

Предложение ORDER BY является необязательным. Однако оно необходимо для отображения данных в порядке сортировки.

Обе приведенные ниже инструкции SQL одинаково сортируют записи по фамилиям сотрудников:

SELECT Фамилия SELECT Фамилия

FROM Сотрудники FROM Сотрудники
ORDER BY Фамилия ASC; ORDER BY Фамилия;

 

Пример (Сортировка по Окладу, а затем по Фамилии)

 

SELECT Фамилия, Оклад

INTO Отчет

FROM Сотрудники
ORDER BY Оклад DESC, Фамилия;

Сотрудники Отчет

Фамилия Оклад   Фамилия Оклад
ЗИМЕНС     ИСАЕВ  
ИВАНОВ     ИСАЧКИН  
ИГЛА     КАМЕНЕВ  
ИНСТРУМЕНТОВ     ИВАННИКОВ  
ИСАЕВ     ИВАНОВ  
ИСАЧКИН     КАРТАШЕВ  
КАМЕНЕВ     КАШОЛКИН  
КАПУСТИН     ИГЛА  
КАРЕВ И.А     ИНСТРУМЕНТОВ  
КАРТАШЕВ     КАРЕВ И.А  
КАШОЛКИН     КАПУСТИН  

[Оглавление]
Предложение WHERE

Определяет, какие записи из таблиц, перечисленных в предложении FROM, следует включить в результат выполнения инструкции SELECT

Синтаксис

SELECT имена полей

FROM имена таблиц

WHERE Условие Отбора;

Элемент Описание
Условие Отбора Выражение, которому должны удовлетворять записи, включаемые в результат выполнения запроса.

 

Предложение WHERE не является обязательным, однако, если оно присутствует, то должно следовать после предложения FROM.

Простой отбор. Операции отношения (=, <, >, <>, >=, <=)

Допускается использование различных операций отношения.

= равно,

< меньше,

> больше,

<= меньше или равно,

>= больше или равно,

<> не равно.

 

1. Следующая инструкция SQL отбирает всех сотрудников, зарплата которых превышает 10 000 рублей:

SELECT Фамилия, Оклад

FROM Сотрудники

WHERE Оклад > 10000;

 

2. Отобрать всех сотрудников отдела продаж

SELECT Фамилия

FROM Сотрудники

WHERE Отдел = “Продажи”;

Пример

SELECT Фамилия, Оклад

FROM Сотрудники

WHERE Оклад >= 4000

Сотрудники

Фамилия Оклад Отдел   Фамилия Оклад
ЗИМЕНС       ЗИМЕНС  
ИВАНОВ       ИВАНОВ  
ИГЛА          
ИНСТРУМЕНТОВ          

[Оглавление]
Отбор с использованием логических выражений AND, OR, NOT, BETWEEN, IN.

Предложение WHERE может содержать выражения, связанные логическими операторами, такими как AND, OR, NOT, BETWEEN IN.

Применение AND, OR

Выдать записи, если возраст человека лежит в диапазоне больше 22 и меньше 30 или

больше 50

Пример

SELECT [Фамилия], Возраст

FROM Сотрудники

WHERE ((Возраст >22) And (Возраст < 30)) Or Возраст > 50;

Студенты

Фамилия Возраст Оценка   Фамилия Возраст
Смирнов       Смирнов  
Михайлов       Михайлов  
Синицын       Панов  
Панов          

Отбор с использованием логических выражений IS NULL.

Применяется в WHERE для отбора записей в которых некоторое поле содержит значение NULL (ничего нет)

Пример

Показать фамилии сотрудников не имеющих телефона.

SELECT Фамилия, Телефон

FROM Сотрудники

WHERE Телефон IS NULL;

Сотрудники

Фамилия Телефон Факс   Фамилия Телефон
Смирнов 945-34-77 954-86-29   Михайлов  
Петров 376-45-31        
Михайлов          
Семенов 267-65-09        

Показать фамилии сотрудников имеющих факс.

SELECT Фамилия, Факс

FROM Сотрудники

WHERE Факс IS NOT NULL;

Сотрудники

Фамилия Телефон Факс   Фамилия Факс
Смирнов 945-34-77 954-86-29   Смирнов 954-86-29
Петров 376-45-31        
Михайлов          
Семенов 267-65-09        

[Оглавление]

Применение BETWEEN … AND /(NOT BETWEEN…AND).

Определяет принадлежность значения выражения указанному диапазону.

Синтаксис

SELECT имена полей

FROM имена таблиц

WHERE выражение [ Not ] Between значение1 And значение2;

1.Выдать записи, если возраст человека лежит в диапазоне от 22 до 30

Пример

SELECT Фамилия, Возраст

FROM Сотрудники

WHERE Возраст BETWEEN 22 And 30;

Студенты

Фамилия Возраст Оценка   Фамилия Возраст
Смирнов       Михайлов  
Михайлов       Панов  
Синицын          
Панов          

 

 

2.Выдать записи, если возраст человека НЕ лежит в диапазоне от 22 до 30

Пример

SELECT Фамилия], Возраст

FROM Сотрудники

WHERE Возраст NOT BETWEEN 22 And 30;

Студенты

Фамилия Возраст Оценка   Фамилия Возраст  
Смирнов       Смирнов    
Михайлов       Синицын    
Синицын            
Панов            

[Оглавление]

Применение IN (NOT IN).

Проверяет, совпадает ли значение выражения с одним из элементов указанного списка.

Синтаксис

SELECT имена полей

FROM имена таблиц

WHERE выражение [Not] In (значение1, значение2,...)

1.Выдать записи, если возраст человека равен 18 или 55

Пример

SELECT Фамилия, Возраст

FROM Сотрудники

WHERE Возраст IN (18,55);

Студенты

Фамилия Возраст Оценка   Фамилия Возраст
Смирнов       Смирнов  
Михайлов       Синицын  
Синицын          
Панов          

 

2.Выдать записи, если возраст человека НЕ равен 18 или 55

Пример

SELECT Фамилия, Возраст

FROM Сотрудники

WHERE Возраст NOT IN (18,55);

Студенты

Фамилия Возраст Оценка   Фамилия Возраст  
Смирнов       Михайлов    
Михайлов       Панов    
Синицын            
Панов            

3.Выдать расписание поездов по вокзалам.

Пример

SELECT Вокзал, Направление, День, Время

FROM Расписание

WHERE Вокзал NOT IN (‘Киевский’);

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...