SQL SELECT
Не многие владеют в совершенстве языками, а если говорит о языках программирования, то большая часть знает о них только то, что изучали в школе. Однако в полной мере об используемых языках, для управления компьютерными программами, можно почерпнуть только при глубоком изучении материала, в высших учебных заведениях и путем самостоятельного обучения.
Огромное количество программ позволяют выбирать данные для финансовых и других отчетов в считанные минуты. Одна из самых простых и к тому же удобных — SQL SELECT. При знакомстве с ней любой программист сможет без проблем рассказать о том, что SQL – это язык программирования, помогающий структурировать все необходимые запросы, а SELECT – это команда, используемая в комбинации с SQL. Безусловно, в сочетании SQL SELECT позволяют проводить все необходимые действия, изложенные на примерах данной страницы. В связи, с чем нижеизложенный материал более подробно и наглядно характеризует возможности SQL SELECT. Поэтому, установив программу, используемую SQL SELECT, вы сэкономите время своих сотрудников, а также деньги предприятия.
С помощью запроса SQL SELECT можно выполнять выборку данных из таблицы. Следующие примеры запросов SQL SELECT используются в таких SQL СУБД как MySQL, Oracle, Access и других.
Для выполнения следующих SQL запросов SELECT нам необходимо прежде всего изучить структуру таблиц.
Имя таблицы | Имя поля | Тип поля | Примечание |
---|---|---|---|
FAKULTET | KOD_F | целое число | ОСНОВНОЙ КЛЮЧ |
NAZV_F | Чар, 30 | ||
SPEC | KOD_S | целое число | ОСНОВНОЙ КЛЮЧ |
KOD_F | целое число | ||
NAZV_S | Char, 50 | ||
УЧЕНИК | KOD_STUD | целое число | ОСНОВНОЙ КЛЮЧ |
KOD_S | целое число | ||
FAM | Чар, 30 | ||
В | Чар, 15 | ||
OT | Чар, 15 | ||
DOTS | Десятичный, 3 | ||
МЯЧ | Десятичный, 3 |
Примеры запросов SELECT на языке SQL:
SQL Пример SELECT №1
Выбрать студентов, получающих стипендию, равную 150.
Выбрать студентов, получающих стипендию, равную 150.
ВЫБЕРИТЕ имя от студента, где STIP = 150;
С помощью данного SQL запроса SELECT выбираются все значения из таблицы STUDENT, поле STIP которых строго равно 150.
SQL Пример SELECT №2
Выбрать студентов, имеющих балл от 82 до 90. Студенты должны быть отсортированы в порядке убывания балла.
Выбрать студентов, имеющих балл от 82 до 90. Студенты должны быть отсортированы в порядке убывания балла.
ВЫБЕРИТЕ FAM ИЗ СТУДЕНТА, ГДЕ ШАР МЕЖДУ 81 И 91 ПОРЯДОК БАЛ ДЕСК ;
Как видно из SQL примера, чтобы выбрать студентов, которые имеют балл от 82 до 90, мы используем условие BETWEEN. Чтобы отсортировать в убывающем порядке DESC.
SQL Пример SELECT №3
Выбрать студентов, фамилии которых начинаются с буквы «А».
Выбрать студентов, фамилии которых начинаются с буквы «А».
ВЫБЕРИТЕ FAM ИЗ СТУДЕНТА, ГДЕ FAM LIKE 'А%';
Для того, чтобы выбрать фамилии, начинающиеся с буквы «А», мы используем оператор SQL LIKE для поиска значений по образцу.
SQL SELECT Пример №4
Подсчитать средний балл на каждом факультете.
Подсчитать средний балл на каждом факультете.
ВЫБЕРИТЕ NAZV_F в качестве имени , КРУГЛЫЙ ( AVG (BALL), 2) как SredBall ОТ FAKULTET, SPEC, STUDENT, ГДЕ STUDENT.KOD_S = SPEC.KOD_S AND SPEC.KOD_F = FAKULTET.KOD_F GROUP BY NAZV_F;
Пример запроса SQL SELECT показывает нам использование функции SQL AVG для вычисления среднего значения, ROUND для округления значения, раздела GROUP BY для группировки столбцов.
SQL SELECT. Пример №5.
Подсчитать количество студентов, обучающихся на каждом факультете. Вывести в запросе название факультета, комментарий – «обучается», количество студентов, комментарий «человек».
Подсчитать количество студентов, обучающихся на каждом факультете. Вывести в запросе название факультета, комментарий – «обучается», количество студентов, комментарий «человек».
ВЫБЕРИТЕ NAZV_F || ' обучается '|| COUNT (STUDENT.BALL) || ' ' Как CountStudOnFakultet ИЗ ФАКУЛЬТЕТА, SPEC, СТУДЕНТ, ГДЕ STUDENT.KOD_S = SPEC.KOD_S AND SPEC.KOD_F = FAKULTET.KOD_F GROUP BY NAZV_F;
SQL SELECT. Пример №6.
Упорядочить студентов по факультетам, специальностям, фамилиям.
Упорядочить студентов по факультетам, специальностям, фамилиям.
SELECT NAZV_F, NAZV_S, FAM FROM FAKULTET, SPEC, STUDENT WHERE STUDENT.KOD_S=SPEC.KOD_S AND SPEC.KOD_F=FAKULTET.KOD_F ORDER BYNAZV_F, NAZV_S, FAM;
SQL SELECT. Пример №7.
Определить, кто учится на специальности, к которой относится студент «Асанов».
Определить, кто учится на специальности, к которой относится студент «Асанов».
ВЫБЕРИТЕ FAM ИЗ СТУДЕНТА, ГДЕ STUDENT.KOD_S = ( ВЫБЕРИТЕ KOD_S ИЗ СТУДЕНТА, ГДЕ FAM = 'Асанов');
В данном SQL примере мы используем подзапрос SQL SELECT, который возвращает код специальности, на которой учится студент по фамилии Асанов.
SQL SELECT. Пример №8.
Показать, какие специальности встречаются в таблице STUDENT. Дубликаты исключить. Вывести в запросе названия специальностей.
Показать, какие специальности встречаются в таблице STUDENT. Дубликаты исключить. Вывести в запросе названия специальностей.
ВЫБЕРИТЕ DISTINCT NAZV_S ОТ SPEC, СТУДЕНТ, ГДЕ STUDENT.KOD_S = SPEC.KOD_S;
Здесь мы с помощью SQL ограничения DISTINCT выводим только различные значения.
SQL SELECT. Пример №9.
Извлечь из базы данных все данные по сотрудникам, принятым на работу после 01.01.1980 г. в формате “Сотрудник < фамилия сотрудника и его инициалы> принят на работу < дата принятия на работу>”.
Извлечь из базы данных все данные по сотрудникам, принятым на работу после 01.01.1980 г. в формате “Сотрудник < фамилия сотрудника и его инициалы> принят на работу < дата принятия на работу>”.
ВЫБЕРИТЕ CONCAT (CONCAT (CONCAT ('Сотрудник', sname), CONCAT (SUBSTR (имя, 0, 1), SUBSTR (otch, 0, 1))), CONCAT ('принято на работу', acceptdate)) ОТ сотрудников ГДЕ acceptdate> to_date ('01 .01.80 ′, 'dd.mm.yyyy');
В данном SQL SELECT, используя SQL функцию CONCAT мы выводим все поля таблицы в одну строчку. SQL функция to_date возвращает привычное для СУБД значение даты.
SQL SELECT. Пример №10.
Извлечь из базы данных перечень должностей, которые имеют сотрудники следующих отделов: ‘БИОТЕХНОЛОГИЙ’, ‘ИНЖЕНЕРНОЙ ЭКОЛОГИИ’. В запросе использовать названия отделов.
Извлечь из базы данных перечень должностей, которые имеют сотрудники следующих отделов: ‘БИОТЕХНОЛОГИЙ’, ‘ИНЖЕНЕРНОЙ ЭКОЛОГИИ’. В запросе использовать названия отделов.
ВЫБЕРИТЕ pname ИЗ постов, отделов, сотрудников, ГДЕ posts.pid = employee.pid AND employee.did = департаменты.did AND (департаменты.dname = 'БИОТЕХНОЛОГИЙ' ИСТОРОДА.
Пояснение: posts — таблица должностей, departments — таблица отделов, employees — таблица сотрудников, pname — название должности.
SQL SELECT. Пример №11.
Извлечь из базы данных значение максимального личного шифра и фамилию сотрудника с этим номером в формате “Максимальный личный шифр < значение шифра> имеет сотрудник < фамилия сотрудника и его инициалы>”.
Извлечь из базы данных значение максимального личного шифра и фамилию сотрудника с этим номером в формате “Максимальный личный шифр < значение шифра> имеет сотрудник < фамилия сотрудника и его инициалы>”.
SELECT ‘Максимальный личный шифр ‘||eid||’ имеет сотрудник ‘||sname||’ ‘||SUBSTR(fname, 0, 1)||’. ‘||SUBSTR(otch, 0, 1)||’.’ As Максимальный_личный_шифр FROM employees WHERE eid = (SELECT MAX(eid) from employees);
Для вывода максимального личного шифра мы устанавливаем условие в WHERE так, чтобы шифр был равен полученному максимальному шифру из подзапроса SELECT, используя функцию MAX.
SQL SELECT. Пример №12.
Получить из базы данных значение числа записей в таблице данных о сотрудниках в формате “Таблица данных о сотрудниках содержит < число записей> записей”.
Получить из базы данных значение числа записей в таблице данных о сотрудниках в формате “Таблица данных о сотрудниках содержит < число записей> записей”.
SELECT ‘Таблица данных о сотрудниках содержит ‘||COUNT(*)||’ записей’ FROM employees;
Используя SQL функцию COUNT, выводим количество записей таблицы employees.
SQL SELECT. Пример №13.
Получить единым запросом список отделов и должностей предприятия.
Получить единым запросом список отделов и должностей предприятия.
ВЫБЕРИТЕ pname ОТ постов СОЮЗ ВЫБЕРИТЕ dname ОТ ОТДЕЛЕЙ;
С помощью UNION мы объединяем два запроса SQL SELECT и выводим их как один.
SQL SELECT. Пример №14.
Вывести 30 комментариев начиная с 5 комментария из таблицы replies, кроме комментариев автора ‘Вася’. Данные сортируются по дате добавления комментария в убывающем порядке.
Вывести 30 комментариев начиная с 5 комментария из таблицы replies, кроме комментариев автора ‘Вася’. Данные сортируются по дате добавления комментария в убывающем порядке.
ВЫБРАТЬ * ОТ ОТВЕТОВ ГДЕ автор! = 'Вася' ЗАКАЗАТЬ по дате DESC LIMIT 5, 30;
SQL SELECT. Пример №15.
Получить из SQL таблицы news одну новость с пометкой «Важные новости».
Получить из SQL таблицы news одну новость с пометкой «Важные новости».
SELECT * FROM news WHERE status=’Важные новости’ LIMIT 1;
В данном SQL примере мы выбираем все столбцы поля, у которого столбец status равен ‘Важные новости’. SQL ограничение LIMIT 1 означает, что выбираем только одну запись.
SQL SELECT. Пример №16.
Получить имя письма с идентификатором 1565.
Получить имя письма с идентификатором 1565.
ВЫБЕРИТЕ имя ОТ mail_inbox ГДЕ id = '1565 ′;
SQL SELECT. Пример №17.
Получить название рекламного пакета с идентификатором 24.
Получить название рекламного пакета с идентификатором 24.
ВЫБЕРИТЕ заголовок ИЗ ad_packages WHERE id = '24 ';
SQL SELECT. Пример №18.
Вывести столбцы id, title, price, c_type с сортировкой по идентификатору в возрастающем порядке.
Вывести столбцы id, title, price, c_type с сортировкой по идентификатору в возрастающем порядке.
SELECT id, title, price, c_type FROM ad_packages ORDER BY id ASC;
SQL SELECT. Пример №19.
Вывести все записи из SQL таблицы actions с идентификатором 1234567890.
Вывести все записи из SQL таблицы actions с идентификатором 1234567890.
SELECT * действия, ГДЕ uid = '1234567890 ′;
SQL SELECT. Пример №20.
SELECT * FROM buypts ЗАКАЗАТЬ по c_type DESC, цена DESC;
SQL SELECT. Пример №21.
ВЫБЕРИТЕ uid ОТ refs WHERE rid = '19 ';
SQL SELECT. Пример №22.
ВЫБЕРИТЕ * ОТ Sellpts ЗАКАЗАТЬ ПО ЦЕНЕ ASC;
SQL SELECT. Пример №23.
SELECT * FROM useronline WHERE uid = '1 ′;
SQL SELECT. Пример №24.
SELECT * FROM mail_inbox WHERE uid = '4590 ′ И status =' unread ';
SQL SELECT. Пример №25.
ВЫБЕРИТЕ * ОТ Buyref ГДЕ избавиться! = '5' ЗАКАЗАТЬ ПО dateStamp DESC;
MySQL SQL SELECT. Пример №26.
ВЫБЕРИТЕ идентификатор ОТ ОТВЕТОВ ГДЕ nid = '5 ′;
MySQL SQL SELECT. Пример №27.
SELECT id, dateStamp, title, text ИЗ новостей WHERE dateStamp = '1232342412 ′;
Oracle SQL SELECT. Пример №28.
SELECT id, dateStamp, автор, текст, remote_addr ОТ ответов WHERE nid = '45 ' ORDER BY dateStamp ASC;