Berezka7km.ru

Березка 7км
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Базы данных. Изучаем SQL запросы за 20 минут

Базы данных. Изучаем SQL запросы за 20 минут

Именно поэтому мы подготовили краткий экскурс по основам SQL. Начнем же!

1. Создание таблицы

Для создания таблиц предназначена инструкция CREATE TABLE . В качестве аргументов должно быть задано название столбцов, а также их типы данных.

Создадим простую таблицу по имени month. Она состоит из 3 колонок:

  • id – Номер месяца в календарном году (целое число).
  • name – Название месяца (строка, максимум 10 символов).
  • days – Количество дней в этом месяце (целое число).

Вот как будет выглядеть соответствующий SQL запрос:

Также при создании таблиц целесообразно добавить первичный ключ для одной из колонок. Это позволит держать записи уникальными и ускорит запросы на выборку. Пусть в нашем случае уникальным будет название месяца (столбец name)

Строковые типы данных

Тип данныхОписание
CHARСтрока фиксированной длины, состоящая из 1-255 символов
TEXTМожет хранить не более 65 535 символов
Числовые типы данных

Тип данныхОписание
TINYINTМожет хранить числа от -128 до 127
SMALLINTДиапазон от -32 768 до 32 767
MEDIUMINTДиапазон от -8 388 608 до 8 388 607
INTДиапазон от -2 147 483 648 до 2 147 483 647
FLOATЧисло с плавающей точкой
Дата и время

Тип данныхОписание
DATEЗначения даты
DATETIMEЗначения даты и времени с точностью до минты
TIMEЗначения времени

2. Вставка строк

Теперь давайте заполнять нашу таблицу months полезной информацией. Добавление записей в таблицу производится через инструкцию INSERT . Есть два способа записи этой инструкции.

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

Этот способ записи прост, но небезопасен, поскольку нет гарантии, что по мере расширения проекта и редактировании таблицы, столбцы будут располагаться в том же порядке, что и ранее. Безопасный (и в тоже время более громоздкий) способ записи инструкции INSERT требует указания как значений, так и порядка следования столбцов:

Здесь первое значение в списке VALUES соответствует первому указанному имени столбца и т.д.

3. Извлечение данных из таблиц

Инструкция SELECT — наш лучший друг, когда мы хотим получить данные из базы данных. Она используется очень часто, так что отнеситесь к этому разделу очень внимательно.

Самый простое использование инструкции SELECT — запрос, который возвращает все столбцы и строки из таблицы (например, таблицы по имени characters):

Символ звездочка ( * ) означает, что мы хотим получить данные из всех столбцов. Так базы данных SQL обычно состоят из более чем одной таблицы, то требуется обязательно указывать ключевое слово FROM , следом за которым через пробел должно следовать название таблицы.

Иногда мы не хотим получить данные не из всех столбцов в таблице. Для этого, вместо звездочки ( * ) мы должны через запятую записать имена желаемых столбцов.

Кроме того, во многих случаях мы хотим, чтобы полученные результаты были отсортированы в определенном порядке. В SQL мы делаем это с помощью ORDER BY . Он может принимать опциональный модификатор – ASC (по-умолчанию) сортирующий по возрастанию или DESC , сортирующий по убыванию:

При использовании ORDER BY убедитесь, что оно будет последним в инструкции SELECT . В противном случае будет выдано сообщение об ошибке.

4. Фильтрация данных

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

В этом запросе мы выбираем только те месяцы из таблицы month, в которых больше 30 дней с помощью оператора больше (>).

Операторы в условии WHERE

ОператорПроверка
=Равенство
<>Неравенство
!=Неравенство
<Меньше
<=Меньше или равно
!<Не меньше
>Больше
>=Больше или равно
!>Не больше
BETWEENВхождение в диапазон
IS NULLПроверка на пустое значение

5. Расширенная фильтрация данных. Операторы AND и OR

Ранее мы использовали фильтрацию данных с использованием одного критерия. Для более сложной фильтрации данных можно использовать операторы AND и OR и операторов сравнения (=,<,>,<=,>=,<>).

Здесь мы имеем таблицу, содержащую четыре самых продаваемых альбомов всех времен. Давайте выберем те из них, которые классифицируются как рок и у которых менее 50 миллионов проданных копий. Это можно легко сделать путем размещения оператора AND между этими двумя условиями.

Интенсивное изучение SQL запросов к базам данных

6. In/Between/Like

WHERE также поддерживает несколько специальных команд, позволяя быстро проверять наиболее часто используемые запросы. Вот они:

  • IN – служит для указания диапазона условий, любое из которых может быть выполнено
  • BETWEEN – проверяет, находится ли значение в указанном диапазоне
  • LIKE – ищет по определенным паттернам
Читайте так же:
Canon mf 4410 как сбросить счетчик

Например, если мы хотим выбрать альбомы с поп и соул музыкой, мы можем использовать IN(«value1″,»value2») .

Если мы хотим получить все альбомы, изданные между 1975 и 1985годами, мы должны записать:

7. Функции

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

  • COUNT() – возвращает количество строк
  • SUM() – возвращает общую сумму числового столбца
  • AVG() – возвращает среднее значение из множества значений
  • MIN() / MAX() – получает минимальное / максимальное значение из столбца

Чтобы получить самый последний год в нашей таблице мы должны записать такой SQL запрос:

8. Подзапросы

В предыдущем пункте мы научились делать простые расчеты с данными. Если мы хотим использовать результат от этих расчетов, нам не обойтись без вложенных запросов. Допустим, мы хотим вывести artist, album и release year для старейшего альбома в таблице.

Мы знаем, как получить эти конкретные столбцы:

Мы также знаем, как получить самый ранний год:

Все, что нужно сейчас, — это объединить два запроса с помощью WHERE:

9. Объединение таблиц

В более сложных базах данных существует несколько таблиц, связанных друг с другом. Например, ниже представлены две таблицы о видеоиграх (video_games) и разработчиков видеоигр (game_developers).

Таблица video_gamesТаблица video_games Таблица game_developersТаблица game_developers

В таблице video_games есть колонка разработчик (developer_id), но в ней содержится целое число, а не имя разработчика. Это число представляет собой идентификатор (id) соответствующего разработчика из таблицы разработчиков игр (game_developers), связывая логически два списка, что позволяет нам использовать информацию, хранящуюся в них обоих одновременно.

Если мы хотим создать запрос, который возвращает все, что нужно знать об играх, мы можем использовать INNER JOIN для связи колонок из обеих таблиц.

Это самый простой и наиболее распространенный тип JOIN . Есть несколько других вариантов, но они применимы к менее частым случаям.

10. Алиасы

Если вы посмотрите на предыдущий пример, то вы заметите, что существуют две колонки называемые name. Это сбивает с толку, так что давайте установим псевдоним одного из повторяющихся столбцов, например, name из таблицы game_developers будет называться developer.

Мы также можем сократить запрос задав псевдонимы имен таблиц: video_games назовем games, game_developersdevs:

11. Обновление данных

Часто мы должны изменить данные в некоторых строках. В SQL это делается с помощью инструкции UPDATE . Инструкция UPDATE состоит из:

  • Таблицы, в которой находится значение для замены;
  • Имен столбцов и их новых значений;
  • Выбранные с помощью WHERE строки, которые мы хотим обновить. Если этого не сделать, то изменятся все строки в таблице.

Ниже приведена таблица tv_series с сериалами с их рейтингом. Однако, в таблицу закралась маленькая ошибка: хотя сериал Игра престолов и описывается как комедия, он на самом деле ей не является. Давайте исправим это!

Данные таблицы tv_seriesДанные таблицы tv_series

12. Удаление данных

Удаление строки таблицы с помощью SQL — это очень простой процесс. Все, что вам нужно, — это выбрать таблицу и строку, которую нужно удалить. Давайте удалим из предыдущего примера последнюю строку в таблице tv_series. Делается это с помощью инструкции >DELETE

13. Удаление таблицы

Если мы хотим, чтобы удалить все строки, но оставить саму таблицу, то воспользуйтесь командой TRUNCATE :

В случае, когда мы на самом деле хотим, чтобы удалить и данные, и саму таблицу, то нам пригодится команда DROP :

Будьте очень осторожны с этими командами. Их нельзя отменить!/p>

На этом мы завершаем наш учебник по SQL! Мы многое о чем не рассказали, но то, что вы уже знаете, должно быть достаточно, чтобы дать вам несколько практических навыков в вашей веб-карьере.

SQL | Арифметические Операторы

Мы можем использовать различные арифметические операторы для данных, хранящихся в таблицах.

Дополнение (+):

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

Реализация :

employee_idemployee_namesalarysalary+100
1alex2500025100
2rr5500055100
3jpm5200052100
4ggshmr1231212412

Здесь мы сделали добавление 100 к зарплате каждого сотрудника, т. Е. Операция сложения в одном столбце.

Давайте выполним сложение 2 столбцов :

employee_idemployee_namesalarysalary+employee_id
1alex2500025001
2rr5500055002
3jpm5200052003
4ggshmr1231212316

Здесь мы сделали сложение 2 столбцов друг с другом, то есть каждый сотрудник employee_id добавляется с его зарплатой.

Вычитание (-):

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

Читайте так же:
Правила замены коммунальных счетчиков

Реализация :

employee_idemployee_namesalarysalary-100
12Finch1500014900
22Peter2500024900
32Warner56005500
42Watson9000089900

Здесь мы сделали вычитание 100 к зарплате каждого сотрудника, т. Е. Операция вычитания в одном столбце.

Выполним вычитание из 2 столбцов :

employee_idemployee_namesalarysalary – employee_id
12Finch1500014988
22Peter2500024978
32Warner56005568
42Watson9000089958

Здесь мы сделали вычитание 2 столбцов друг с другом, т. Е. Каждый сотрудник employee_id вычитается из его зарплаты.

Деление (/): для деления см. Эту ссылку — Деление в SQL

Умножение (*):

Это используется для выполнения умножения элементов данных.

Реализация :

employee_idemployee_namesalarysalary * 100
1Finch250002500000
2Peter550005500000
3Warner520005200000
4Watson123121231200

Здесь мы сделали умножение 100 на зарплату каждого сотрудника, т.е. операцию умножения на один столбец.

Выполним умножение 2 столбцов :

employee_idemployee_namesalarysalary * employee_id
1Finch2500025000
2Peter55000110000
3Warner52000156000
4Watson1231249248

Здесь мы сделали умножение 2 столбцов друг на друга, т. Е. Каждый сотрудник employee_id умножается на его зарплату.

Модуль (%):

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

Реализация :

employee_idemployee_namesalarysalary % 25000
1Finch25000
2Peter550005000
3Warner520002000
4Watson1231212312

Здесь мы выполнили модуль 100 для зарплаты каждого сотрудника, т. Е. Операцию модуля на одном столбце.

Давайте выполним операцию модуля между двумя столбцами :

employee_idemployee_namesalarysalary % employee_id
1Finch25000
2Peter55000
3Warner520001
4Watson12312

Здесь мы сделали модуль из 2 столбцов друг с другом, то есть, зарплата каждого сотрудника делится с его идентификатором и отображается соответствующий остаток.

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

Концепция NULL :

Если мы выполним любую арифметическую операцию с NULL , тогда ответ всегда будет нулевым.

Реализация :

employee_idemployee_namesalarytypetype + 100
1Finch25000NULLNULL
2Peter55000NULLNULL
3Warner52000NULLNULL
4Watson12312NULLNULL

Здесь вывод всегда был нулевым, так как выполнение любой операции с нулем всегда приводит к нулевому значению .

Примечание . Убедитесь, что NULL недоступен , не назначен , неизвестен . Нуль не то же самое, что пробел или ноль .
Чтобы получить более глубокое понимание NULL, обратитесь к ЭТОЙ ссылке .

Примеры SQL запросов к базе данных MySQL


Содержание статьи
1. Самые простые MySQL запросы
2. Простые SELECT (выбрать) запросы
3. Простые INSERT (новая запись) запросы
4. Простые UPDATE (перезаписать, дописать) запросы
5. Простые DELETE (удалить запись) запросы
6. Простые DROP (удалить таблицу) запросы
7. Сложные MySQL запросы
8. MySQL запросы и переменные PHP

1. Самые простые SQL запросы

1. Выведет список ВСЕХ баз.

2. Выведет список ВСЕХ таблиц в Базе Данных base_name.

2. Простые SELECT (выбрать) запросы к базе данных MySQL

SELECT – запрос, который выбирает уже существующие данные из БД. Для выбора можно указывать определённые параметры выбора. Например, суть запроса русским языком звучит так — ВЫБРАТЬ такие-то колонки ИЗ такой-то таблицы ГДЕ параметр такой-то колонки равен значению.

1. Выбирает ВСЕ данные в таблице tbl_name.

2. Выведет количество записей в таблице tbl_name.

3. Выбирает (SELECT) из(FROM) таблицы tbl_name лимит (LIMIT) 3 записи, начиная с 2.

4. Выбирает (SELECT) ВСЕ (*) записи из (FROM) таблицы tbl_name и сортирует их (ORDER BY) по полю id по порядку.

5. Выбирает (SELECT) ВСЕ записи из (FROM) таблицы tbl_name и сортирует их (ORDER BY) по полю id в ОБРАТНОМ порядке.

6. Выбирает (SELECT) ВСЕ (*) записи из (FROM) таблицы users и сортирует их (ORDER BY) по полю id в порядке возрастания, лимит (LIMIT) первые 5 записей.

7. Выбирает все записи из таблицы users, где поле fname соответствует значению Gena.

8. Выбирает все записи из таблицы users, где значение поля fname начинается с Ge.

9. Выбирает все записи из таблицы users, где fname заканчивается на na, и упорядочивает записи в порядке возрастания значения id.

10. Выбирает все данные из колонок fname, lname из таблице users.

Внимание! Старайтесь указывать конкретные колонки (как в примере 10). Это важно для того, чтобы запросы обрабатывались намного быстрее!

11. Допустим у Вас в таблице пользовательских данных есть страна. Так вот если Вы хотите вывести ТОЛЬКО список встречающихся значений (чтобы, например, Россия не выводилось 20 раз, а только один), то используем DISTINCT. Выведет, из массы повторяющихся значений Россия, Украина, Беларусь. Таким образом, из таблицы users колонки country будут выведены ВСЕ УНИКАЛЬНЫЕ значения

Читайте так же:
Счетчик пробега ниссан ноут

12. Выбирает ВСЕ данные строк из таблицы users где age имеет значения 18,19 и 21.

13. Выбирает МАКСИМАЛЬНОЕ значение age в таблице users. То есть если у Вас в таблице самое большее значение age(с англ. возраст) равно 55, то результатом запроса будет 55.

14. Выберет данные из таблицы users по полям name и age ГДЕ age принимает самое маленькое значение.

15. Выберет данные из таблицы users по полю name ГДЕ id НЕ РАВЕН 2.

3. Простые INSERT (новая запись) запросы

INSERT – запрос, который позволяет ПЕРВОНАЧАЛЬНО вставить запись в БД. То есть создаёт НОВУЮ запись (строчку) в БД.

1. Делает новую запись в таблице users, в поле name вставляет Сергей, а в поле age вставляет 25. Таким образом, в таблицу дописывается новая строки с данными значениями. Если колонок больше, то они оставшиеся останутся либо пустыми, либо с установленными по умолчанию значениями.

4. Простые UPDATE запросы к базе данных MySQL

UPDATE – запрос, который позволяет ПЕРЕЗАПИСАТЬ значения полей или ДОПИСАТЬ что-то в уже существующей строке в БД. Например, есть готовая строка, но в ней нужно перезаписать параметр возраста, так как он изменился со временем.

1. В таблице users ГДЕ id равно 3 значение поля age становится 18.

2. Всё то же самое, что и в первом запросе, просто показан синтаксис запроса, где перезаписываются два поля и более.
В таблице users ГДЕ id равно 3 значение поля age становится 18, а country Россия.

5. Простые DELETE (удалить запись) запросы к базе данных MySQL

DELETE – запрос, который удаляет строку из таблицы.

1. Удаляет строку из таблицы users ГДЕ id равен 10.

6. Простые DROP (удалить таблицу) запросы к базе данных MySQL

DROP – запрос, который удаляет таблицу.

1. Удаляет целиком таблицу tbl_name.

7. Сложные запросы к базе данных MySQL

Любопытные запросы, которые могут пригодиться даже опытным пользователям

Данный сложный запрос ВЫБИРАЕТ колонки id,name,country В ТАБЛИЦАХ users,admins ГДЕ registration_date (дата) не старше 14 дней И activation НЕ РАВНО , СОРТИРОВАТЬ по registration_date в обратном порядке (новое в начале).

Выше указан пример так называемого запроса в запросе в SQL. Обновить возраст среди пользователей на 18+, где пол — мужской. Подобные варианты запроса не рекомендую. По личному опыту скажу, лучше создать несколько отдельных — они будут прорабатываться быстрее.

8. Запросы к базе данных MySQL и PHP

В MySQL запросы в PHP странице можно вставлять переменные в качестве сравниваемых и тп значений. Пара примеров

1. Выбирает все записи из таблицы users, где поле fname соответствует значению переменной $name.

2. В таблице users ГДЕ id равно 3 значение поля age изменяется на значение переменной $age.

Внимание! Если Вам интересен какой-либо ещё пример, то пишите вопрос в комментарии!

SQL получить наибольшее значение счетчика из группы по

Я хочу заменить свою . это даст мне позицию, что играемый играет больше всего, поэтому он играет 40 игр, как A RW . Я не умею считать, не умею суммировать.

Предполагается, что результат SQL дает

2 ответа

  • Как получить наибольшее значение из N-го столбца, не зная имени столбца

Как получить наибольшее значение из второго столбца таблицы, не зная имени столбца? В одном запросе SQL? У меня есть набор таблиц, где значение, которое я хотел бы получить, всегда находится во втором столбце (это часть того, как всегда создаются таблицы), но имя этого столбца отличается в каждой.

У меня есть $string , извлеченный из cURL вот так: ,,,,,,]> Я хотел бы знать, как получить id , который имеет наибольшее значение (то есть 974), как я могу сделать это в PHP?

Это работает на PostgreSQL:

Это Sql Server вы можете использовать SQL ранг сначала, чтобы получить наибольшее количество сыгранных, а затем сделать свои группировки

Похожие вопросы:

У меня есть следующая таблица: | event_type | value | date | |————|——-|————————-| | 2 | -7 | March, 01 2016 09:00:00 | | 2 | 4 | March, 01 2016 08:00:00 | | 2 | 21 |.

как я могу получить наибольшее значение из определенного столбца в Cassandra ? я сохраняю имя тега как имя и количество кликов как значение в Cassandra. Теперь мне нужно выяснить, какие самые.

Читайте так же:
Общая долевая собственность как платить по счетчику

Каков самый простой способ получить n- е наибольшее значение из результирующего набора с помощью простого SQL? Набор результатов будет огромным, поэтому необходимо также учитывать.

Как получить наибольшее значение из второго столбца таблицы, не зная имени столбца? В одном запросе SQL? У меня есть набор таблиц, где значение, которое я хотел бы получить, всегда находится во.

У меня есть $string , извлеченный из cURL вот так: ,,,,,,]> Я хотел бы знать, как получить id , который имеет.

у меня есть такой стол id Name Taste price Qty 1 Hot-Dog Spicy 500 3 2 Pop-Corn Caramel 400 2 3 Hot-Dog Non-Spicy 600 1 4 Hot-Dog Spicy 520 4 5 Pop-Corn Salty 350 5 как сделать возвратную строку.

SELECT *, REPLACE(number_option, ‘Issue ‘, ») AS new_number_option FROM jgl_article WHERE status = 1 AND topic = ‘Current Issues’ ORDER BY id ASC возвращает столбец new_number_option : 1 1 1 2 2 3.

У меня есть набор таких чисел в div: <div Как я могу найти наибольшее число из этой группы и отобразить его?

Я использую SQL Server, и мне нужно рассчитать время, необходимое для встречи, но я не знаю, как поступить, чтобы получить наибольшее значение от отдела. Вот чего я пытаюсь добиться: У меня есть.

Я разрабатываю базу данных с SQL Server 2012 SP2. У меня есть таблица со столбцом NVARCHAR (20), и в ней будут цифры: 000001, 000002 и т. д. Мне нужно получить наибольшее значение в этом столбце и.

SQL SELECT

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

Огромное количество программ позволяют выбирать данные для финансовых и других отчетов в считанные минуты. Одна из самых простых и к тому же удобных — SQL SELECT. При знакомстве с ней любой программист сможет без проблем рассказать о том, что SQL – это язык программирования, помогающий структурировать все необходимые запросы, а SELECT – это команда, используемая в комбинации с SQL. Безусловно, в сочетании SQL SELECT позволяют проводить все необходимые действия, изложенные на примерах данной страницы. В связи, с чем нижеизложенный материал более подробно и наглядно характеризует возможности SQL SELECT. Поэтому, установив программу, используемую SQL SELECT, вы сэкономите время своих сотрудников, а также деньги предприятия.

С помощью запроса SQL SELECT можно выполнять выборку данных из таблицы. Следующие примеры запросов SQL SELECT используются в таких SQL СУБД как MySQL, Oracle, Access и других.

SQL Select

Для выполнения следующих SQL запросов SELECT нам необходимо прежде всего изучить структуру таблиц.

Имя таблицыИмя поляТип поляПримечание
FAKULTETKOD_FIntegerPRIMARY KEY
NAZV_FChar, 30
SPECKOD_SIntegerPRIMARY KEY
KOD_FInteger
NAZV_SChar, 50
STUDENTKOD_STUDIntegerPRIMARY KEY
KOD_SInteger
FAMChar, 30
IMChar, 15
OTChar, 15
STIPDecimal, 3
BALLDecimal, 3

Примеры запросов SELECT на языке SQL:

SQL Пример SELECT №1
Выбрать студентов, получающих стипендию, равную 150.

SELECT fname FROM STUDENT WHERE STIP=150;

С помощью данного SQL запроса SELECT выбираются все значения из таблицы STUDENT, поле STIP которых строго равно 150.

SQL Пример SELECT №2
Выбрать студентов, имеющих балл от 82 до 90. Студенты должны быть отсортированы в порядке убывания балла.

SELECT FAM FROM STUDENT WHERE BALL BETWEEN 81 AND 91 ORDER BY BALL DESC;

Как видно из SQL примера, чтобы выбрать студентов, которые имеют балл от 82 до 90, мы используем условие BETWEEN. Чтобы отсортировать в убывающем порядке DESC.

SQL Пример SELECT №3
Выбрать студентов, фамилии которых начинаются с буквы «А».

Для того, чтобы выбрать фамилии, начинающиеся с буквы «А», мы используем оператор SQL LIKE для поиска значений по образцу.

SQL SELECT Пример №4
Подсчитать средний балл на каждом факультете.

SELECT NAZV_F As Название, ROUND(AVG(BALL), 2) As СредБалл FROM FAKULTET, SPEC, STUDENT WHERE 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.
Подсчитать количество студентов, обучающихся на каждом факультете. Вывести в запросе название факультета, комментарий – «обучается», количество студентов, комментарий «человек».

SELECT NAZV_F||’ обучается ‘||COUNT(STUDENT.BALL)||’ человек’ As CountStudOnFakultet FROM FAKULTET, SPEC, STUDENT WHERE 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 BY NAZV_F, NAZV_S, FAM;

SQL SELECT. Пример №7.
Определить, кто учится на специальности, к которой относится студент «Асанов».

SELECT FAM FROM STUDENT WHERE STUDENT.KOD_S=(SELECT KOD_S FROM STUDENT WHERE FAM=’Асанов’);

В данном SQL примере мы используем подзапрос SQL SELECT, который возвращает код специальности, на которой учится студент по фамилии Асанов.

Читайте так же:
Счетчик посещений лайф интернет

SQL SELECT. Пример №8.
Показать, какие специальности встречаются в таблице STUDENT. Дубликаты исключить. Вывести в запросе названия специальностей.

SELECT DISTINCT NAZV_S FROM SPEC, STUDENT WHERE STUDENT.KOD_S=SPEC.KOD_S;

Здесь мы с помощью SQL ограничения DISTINCT выводим только различные значения.

SQL SELECT. Пример №9.
Извлечь из базы данных все данные по сотрудникам, принятым на работу после 01.01.1980 г. в формате “Сотрудник < фамилия сотрудника и его инициалы> принят на работу < дата принятия на работу>”.

SELECT CONCAT(CONCAT(CONCAT(‘Сотрудник ‘, sname), CONCAT(SUBSTR(fname, 0, 1), SUBSTR(otch, 0, 1))), CONCAT(‘принят на работу ‘, acceptdate)) FROM employees WHERE acceptdate > to_date(‘01.01.80′,’dd.mm.yyyy’);

В данном SQL SELECT, используя SQL функцию CONCAT мы выводим все поля таблицы в одну строчку. SQL функция to_date возвращает привычное для СУБД значение даты.

SQL SELECT. Пример №10.
Извлечь из базы данных перечень должностей, которые имеют сотрудники следующих отделов: ‘БИОТЕХНОЛОГИЙ’, ‘ИНЖЕНЕРНОЙ ЭКОЛОГИИ’. В запросе использовать названия отделов.

SELECT pname FROM posts, departments, employees WHERE posts.pid = employees.pid AND employees.did = departments.did AND (departments.dname = ‘БИОТЕХНОЛОГИЙ’ OR departments.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.
Получить единым запросом список отделов и должностей предприятия.

SELECT pname FROM posts UNION SELECT dname FROM departments;

С помощью UNION мы объединяем два запроса SQL SELECT и выводим их как один.

SQL SELECT. Пример №14.
Вывести 30 комментариев начиная с 5 комментария из таблицы replies, кроме комментариев автора ‘Вася’. Данные сортируются по дате добавления комментария в убывающем порядке.

SELECT * FROM replies WHERE author!=’Вася’ ORDER BY date DESC LIMIT 5, 30;

SQL SELECT. Пример №15.
Получить из SQL таблицы news одну новость с пометкой «Важные новости».

SELECT * FROM news WHERE status=’Важные новости’ LIMIT 1;

В данном SQL примере мы выбираем все столбцы поля, у которого столбец status равен ‘Важные новости’. SQL ограничение LIMIT 1 означает, что выбираем только одну запись.

SQL SELECT. Пример №16.
Получить имя письма с идентификатором 1565.

SELECT name FROM mail_inbox WHERE >

SQL SELECT. Пример №17.
Получить название рекламного пакета с идентификатором 24.

SELECT title FROM ad_packages WHERE >

SQL SELECT. Пример №18.
Вывести столбцы 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 SELECT. Пример №20.

SELECT * FROM buypts ORDER BY c_type DESC, price DESC;

SQL SELECT. Пример №21.

SQL SELECT. Пример №22.

SELECT * FROM sellpts ORDER BY price ASC;

SQL SELECT. Пример №23.

SQL SELECT. Пример №24.

SQL SELECT. Пример №25.

SELECT * FROM buyref WHERE rid!=’5′ ORDER BY dateStamp DESC;

MySQL SQL SELECT. Пример №26.

MySQL SQL SELECT. Пример №27.

SELECT id, dateStamp, title, text FROM news WHERE dateStamp=’1232342412′;

Oracle SQL SELECT. Пример №28.

SELECT id, dateStamp, author, text, remote_addr FROM replies WHERE nid=’45’ ORDER BY dateStamp ASC;

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector