SlideShare a Scribd company logo
1 of 16
Download to read offline
Синтаксис оператора SELECT
SELECT [ALL | DISTINCT ] {*|[имя_столбца [AS 	новое_имя]]}
[,...][INTO переменная ]
FROM имя_таблицы [[AS] псевдоним] [,...]
[WHERE <условие_поиска>]
[GROUP BY имя_столбца [,...]]
[HAVING <критерии выбора групп>]
[ORDER BY имя_столбца [,...]]
[LIMIT n[,m]]
Назначение элементов
оператора SELECT
• SELECT – устанавливает, какие столбцы должны присутствовать в выходных данных;
• DISTINCT – факторизует результат выборки;
• FROM – определяет таблицы, на основе которых будет осуществляться выборка данных;
• WHERE – выполняет фильтрацию строк в соответствии с заданными условиями;
• GROUP BY – образует группы строк, имеющих одно и то же значение в указанном
столбце (или столбцах);
• HAVING – фильтрует группы строк в соответствии с указанным условием;
• ORDER BY – определяет упорядоченность вывода результирующих строк.
Пример: простейший запрос
Все поля всех записей таблицы STUDENT.
SELECT StudentId, StudentName, GroupNumber, BirthDate, Address
FROM STUDENT;
или
SELECT * FROM student;
Пример: запрос
с переименованием
Выборка и переименование столбцов StudentId и StudentName
из таблицы STUDENT.
SELECT StudentId AS 'НОМЕР ЗАЧЕТКИ',StudentName 'ФИО СТУДЕНТА'
FROM STUDENT;
Пример: запрос
без факторизации
Выборка всех значений поля
GroupNumber из таблицы STUDENT.
SELECT ALL GroupNumber FROM STUDENT;
или
SELECT GroupNumber FROM STUDENT;
Пример: запрос
с факторизацией
Выборка факторизованных значений поля GroupNumber.
SELECT DISTINCT GroupNumber FROM STUDENT;
Пример: запрос с использованием
вычислимых полей
Выборка месяцев рождения для каждого
студента.
SELECT StudentId,
StudentName,
MonthName(BirthDate) MonthName_of_BirthDate
FROM STUDENT;
Условия поиска в конструкте
WHERE:
1	 logical expression;
2	 expression [ NOT ] BETWEEN expression AND expression;
3	 field-name IS [ NOT ] NULL;
4	 field-name [ NOT ] LIKE ‘string’ [ ESCAPE ‘character’ ];
5	 expression [ NOT ] IN ({ value-list});
6	 c использованием подзапросов (вложенных запросов).
Пример: логическое выражение
Студенты, у которых день рождения летом.
SELECT StudentId, StudentName, BirthDate
FROM STUDENT
WHERE Month(BirthDate) >= 6 AND Month(BirthDate) <= 8;
Пример: интервальный запрос
Номера зачеток студентов, получивших на экзаменах отметки от 3 до 5.
SELECT DISTINCT StudentId FROM EXAM_RESULT
WHERE Mark BETWEEN 3 AND 5;
Пример: запрос с незаданным
значением
Найти записи в расписании, в которых еще не определена
аудитория (поле ClassRoom).
SELECT * FROM EXAM_SHEET WHERE ClassRoom IS NULL;
Пример: запрос с шаблоном
Кто из студентов живет на Малом проспекте?
SELECT * FROM STUDENT WHERE Address LIKE '%Малый пр%';
Примечание: в конструкции LIKE можно использовать следующие символы шаблона:
• cимвол % – вместо этого символа может быть подставлено любое количество произвольных символов;
• cимвол _ заменяет один символ строки;
• [ ] – вместо символа строки будет подставлен один из возможных символов, указанный в этих ограничителях;
• [^] – вместо соответствующего символа строки будут подставлены все символы, кроме указанных в ограничителях.
Пример: запрос с
принадлежностью множеству
Номера зачеток студентов, которые сдали
экзамены на 2 и 4.
SELECT DISTINCT StudentId
FROM EXAM_RESULT
WHERE Mark IN (2,4);
Пример: запрос
с упорядоченным результатом
SELECT StudentName FROM STUDENT ORDER BY StydentName;
Лексикографически упорядоченный список студентов
Пример: запрос с ограниченным
упорядоченным результатом
SELECT StudentName FROM STUDENT ORDER BY StudentName LIMIT 5;
Первые 5 студентов из лексикографически
упорядоченного списка.
Пример: запрос
с упорядоченным результатом
из заданного интервала
SELECT StudentName FROM STUDENT ORDER BY StudentName LIMIT 2,3;
Первые 3 студента из лексикографического списка, которые
следуют сразу за вторым.

More Related Content

More from Roman Brovko

Bare metal training_06_I2C
Bare metal training_06_I2CBare metal training_06_I2C
Bare metal training_06_I2C
Roman Brovko
 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uart
Roman Brovko
 
подготовка рабочего окружения
подготовка рабочего окруженияподготовка рабочего окружения
подготовка рабочего окружения
Roman Brovko
 

More from Roman Brovko (20)

Individual task Networking
Individual task NetworkingIndividual task Networking
Individual task Networking
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3
 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernet
 
Networking essentials lect2
Networking essentials lect2Networking essentials lect2
Networking essentials lect2
 
Networking essentials lect1
Networking essentials lect1Networking essentials lect1
Networking essentials lect1
 
Bare metal training_07_spi_flash
Bare metal training_07_spi_flashBare metal training_07_spi_flash
Bare metal training_07_spi_flash
 
Bare metal training_06_I2C
Bare metal training_06_I2CBare metal training_06_I2C
Bare metal training_06_I2C
 
Glesk worshop
Glesk worshopGlesk worshop
Glesk worshop
 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uart
 
Bare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorBare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensor
 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwm
 
Bare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsBare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttons
 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_world
 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisites
 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advanced
 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advanced
 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advanced
 
подготовка рабочего окружения
подготовка рабочего окруженияподготовка рабочего окружения
подготовка рабочего окружения
 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advanced
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basics
 

18 - Базы данных. Общая структура оператора SELECT

  • 1. Синтаксис оператора SELECT SELECT [ALL | DISTINCT ] {*|[имя_столбца [AS новое_имя]]} [,...][INTO переменная ] FROM имя_таблицы [[AS] псевдоним] [,...] [WHERE <условие_поиска>] [GROUP BY имя_столбца [,...]] [HAVING <критерии выбора групп>] [ORDER BY имя_столбца [,...]] [LIMIT n[,m]]
  • 2. Назначение элементов оператора SELECT • SELECT – устанавливает, какие столбцы должны присутствовать в выходных данных; • DISTINCT – факторизует результат выборки; • FROM – определяет таблицы, на основе которых будет осуществляться выборка данных; • WHERE – выполняет фильтрацию строк в соответствии с заданными условиями; • GROUP BY – образует группы строк, имеющих одно и то же значение в указанном столбце (или столбцах); • HAVING – фильтрует группы строк в соответствии с указанным условием; • ORDER BY – определяет упорядоченность вывода результирующих строк.
  • 3. Пример: простейший запрос Все поля всех записей таблицы STUDENT. SELECT StudentId, StudentName, GroupNumber, BirthDate, Address FROM STUDENT; или SELECT * FROM student;
  • 4. Пример: запрос с переименованием Выборка и переименование столбцов StudentId и StudentName из таблицы STUDENT. SELECT StudentId AS 'НОМЕР ЗАЧЕТКИ',StudentName 'ФИО СТУДЕНТА' FROM STUDENT;
  • 5. Пример: запрос без факторизации Выборка всех значений поля GroupNumber из таблицы STUDENT. SELECT ALL GroupNumber FROM STUDENT; или SELECT GroupNumber FROM STUDENT;
  • 6. Пример: запрос с факторизацией Выборка факторизованных значений поля GroupNumber. SELECT DISTINCT GroupNumber FROM STUDENT;
  • 7. Пример: запрос с использованием вычислимых полей Выборка месяцев рождения для каждого студента. SELECT StudentId, StudentName, MonthName(BirthDate) MonthName_of_BirthDate FROM STUDENT;
  • 8. Условия поиска в конструкте WHERE: 1 logical expression; 2 expression [ NOT ] BETWEEN expression AND expression; 3 field-name IS [ NOT ] NULL; 4 field-name [ NOT ] LIKE ‘string’ [ ESCAPE ‘character’ ]; 5 expression [ NOT ] IN ({ value-list}); 6 c использованием подзапросов (вложенных запросов).
  • 9. Пример: логическое выражение Студенты, у которых день рождения летом. SELECT StudentId, StudentName, BirthDate FROM STUDENT WHERE Month(BirthDate) >= 6 AND Month(BirthDate) <= 8;
  • 10. Пример: интервальный запрос Номера зачеток студентов, получивших на экзаменах отметки от 3 до 5. SELECT DISTINCT StudentId FROM EXAM_RESULT WHERE Mark BETWEEN 3 AND 5;
  • 11. Пример: запрос с незаданным значением Найти записи в расписании, в которых еще не определена аудитория (поле ClassRoom). SELECT * FROM EXAM_SHEET WHERE ClassRoom IS NULL;
  • 12. Пример: запрос с шаблоном Кто из студентов живет на Малом проспекте? SELECT * FROM STUDENT WHERE Address LIKE '%Малый пр%'; Примечание: в конструкции LIKE можно использовать следующие символы шаблона: • cимвол % – вместо этого символа может быть подставлено любое количество произвольных символов; • cимвол _ заменяет один символ строки; • [ ] – вместо символа строки будет подставлен один из возможных символов, указанный в этих ограничителях; • [^] – вместо соответствующего символа строки будут подставлены все символы, кроме указанных в ограничителях.
  • 13. Пример: запрос с принадлежностью множеству Номера зачеток студентов, которые сдали экзамены на 2 и 4. SELECT DISTINCT StudentId FROM EXAM_RESULT WHERE Mark IN (2,4);
  • 14. Пример: запрос с упорядоченным результатом SELECT StudentName FROM STUDENT ORDER BY StydentName; Лексикографически упорядоченный список студентов
  • 15. Пример: запрос с ограниченным упорядоченным результатом SELECT StudentName FROM STUDENT ORDER BY StudentName LIMIT 5; Первые 5 студентов из лексикографически упорядоченного списка.
  • 16. Пример: запрос с упорядоченным результатом из заданного интервала SELECT StudentName FROM STUDENT ORDER BY StudentName LIMIT 2,3; Первые 3 студента из лексикографического списка, которые следуют сразу за вторым.