Sql

Самоучитель по sql для начинающих: Интерактивный онлайн учебник по работе с SQL

Синтаксис SQL запроса

Одна из основных функций SQL — получение данных из СУБД. Для построения всевозможных запросов к базе данных используется оператор SELECT. Он позволяет выполнять сложные проверки и обработку данных.

Общая структура запроса

SELECT [DISTINCT | ALL] поля_таблиц 
FROM список_таблиц 
[WHERE условия_на_ограничения_строк]
[GROUP BY условия_группировки]
[HAVING условия_на_ограничения_строк_после_группировки]
[ORDER BY порядок_сортировки [ASC | DESC]]
[LIMIT ограничение_количества_записей]

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

Параметры оператора

  • DISTINCT используется для исключения повторяющихся строк из результата
    ALL (по умолчанию) используется для получения всех данных, в том числе и повторений
  • FROM перечисляет используемые в запросе таблицы из базы данных
  • WHERE — это условный оператор, который используется для ограничения строк по какому-либо условию
  • GROUP BY используется для группировки строк
  • HAVING применяется после группировки строк для фильтрации по значениям агрегатных функций
  • ORDER BY используется для сортировки. У него есть два параметра:
    • ASC (по умолчанию) используется для сортировки по возрастанию
    • DESC — по убыванию
  • LIMIT используется для ограничения количества строк для вывода

SQL-псевдонимы

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

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

Для создания псевдонимов используется оператор AS:

SELECT good_type_id AS id FROM GoodTypes;

Порядок выполнения инструкций

Следующие действия демонстрируют логический порядок обработки инструкции SELECT. Этот порядок определяет, когда объекты, определенные в одном шаге, становятся доступными для предложений в последующих шагах.

Например, в предложении WHERE не доступны псевдонимы столбцов, определяемых в предложении SELECT, потому что, согласно списку, оно выполняется до SELECT.

  • FROM
  • WHERE
  • GROUP BY
  • HAVING
  • SELECT
  • DISTINCT
  • ORDER BY

Фактическое выполнение инструкций определяется СУБД и порядок из этого списка может значительно отличаться.

Примеры использования

Вы можете выводить любые строки и числа вместо столбцов:

SELECT "Hello world", 1;

Для того, чтобы вывести все данные из таблицы Company, вы можете использовать символ «*», который буквально означает «все столбцы»:

SELECT * FROM Company;

Вы можете вывести любой столбец, определённый в таблице, например, town_to из таблицы Trip:

SELECT town_to FROM Trip;

Также вы можете вывести несколько столбцов. Для этого их нужно перечислить через запятую:

SELECT member_name, status FROM FamilyMembers;

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

SELECT DISTINCT town_to FROM Trip;

Литералы в SQL

Литерал — указанное явным образом фиксированное значение, например, число 12 или строка «SQL». В MySQL существуют следующие типы литералов: числовой, строковый, логический, NULL, битовый, шестнадцатеричный и литерал даты и времени.

Числовые литералы

Пример
Включает в себя целые и дробные числа. Разделительный знак для дробного числа — «.» (точка).1, 2.9, 0.01
Может иметь только целую, дробную часть или обе сразу..2, 1.1, 10
Может быть положительным и отрицательным числом (для положительного число совсем не обязательно указывать знак).+1, -10, -2.2
Могут быть представлены в экспоненциальном виде.1e3 (то же самое, что и 1000), -1e-3 (-0.001)

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

В SQL есть все привычные нам арифметические операторы:

ОператорОписаниеПример
%, MODДеление по модулю11 % 5 = 1
*Умножение10 \* 16 = 160
+Сложение98 + 2 = 100
Вычитание50 — 51 = -1
/Деление1 / 2 = 0.5
DIVЦелочисленное деление10 DIV 4 = 2

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

Строковые литералы

Строка — это последовательность символов, заключённых в одинарные (‘) или двойные («) кавычки. Набор символов, из которых может состоять строка, определяется самой СУБД. Примеры строк: ‘это строка’, «и это строка».

Строки могут содержать специальные последовательности символов, начинающиеся с «» (экранирующий символ). Они нужны для того, чтобы СУБД придала обычным символам (буквам и другим знакам) новое особое значение. Например, последовательность «\n» буквально означает «перевод строки», а без предваряющего слеша это была бы обычная буква «n».

Литералы даты и времени

Значения даты и времени могут быть представлены в формате строки или числа. Например, в случае, когда СУБД ожидает дату (если в таблице указано поле с типом «Дата»), строка «2020-01-01», «20200101» и число 20200101 будут интерпретироваться как «1 января 2020 года». В ином случае, необходимо использовать синатксис, описанный ниже.

Необходимо, чтобы временные литералы указывались с использованием определённого типа и строки, формирующей дату.

ОписаниеФормат
DATE ‘date’
или
{ d ‘date’ }
Интерпретируется как дата со временем, равным нулюYYYY-MM-DD, YYYYMMDD

Вместо разделителя «-» можно использовать любой знак препинания.

Пример:
{ d ‘20200101’ } -> 1 января 2020, 00:00:00

TIME ‘date’
или
{ t ‘date’ }
Содержит только время без конкретной датыhh:mm:ss, hh:mm, hh, ss

Разделитель тоже можно опустить.

Пример:
{ t ’01’ } -> 00:00:01

TIMESTAMP ‘date’
или
{ ts ‘date’ }
Дата, с возможностью задать конкретное времяYYYY-MM-DD hh:mm:ss, YYYYMMDDhhmmss

Пример:
{ ts ‘20200101183030’ } -> 1 января 2020, 18:30:30

Шестнадцатеричные литералы

Шестнадцатеричные литералы представляют собой значения, записанные в любой из двух нотаций: X'<hex-number>’ или 0x<hex-number>.

Шестнадцатеричные значения могут представлять собой целые числа или строки, где каждая пара шестнадцатеричных цифр преобразовывается в символ. Так, значение 0x73716C может быть интерпретировано как целое десятеричное число 7565676 или строка «sql».

Логические литералы

Логический литерал — значения TRUE и FALSE, означающие истинность и ошибочность какого-либо утверждения. При интерпретации запроса, MySQL преобразует их в числа: TRUE и FALSE становятся 1 и 0 соответственно.

Битовые литералы

Битовые значения могут быть записаны в b'<binary-number>’ и 0b<binary-number> нотациях, используя нули и единицы. Также как и шестнадцатеричные, битовые значения могут быть преобразованы в целое число или один строковый символ.

Например, значение b’01010011′ может быть преобразовано в символ «S» или число 76. Из набора битовых значений можно составить какое-нибудь слово, к примеру, конкатенация b’01010011′, b’01010001′ и b’01001100′ даст нам строку «SQL».

NULL

Значение NULL означает «нет данных», «нет значения». Оно нужно, чтобы отличать визуально пустые значения, такие как строка нулевой длины или «пробел», от того, когда значения вообще нет, даже пустого.

SQL Tutorial

❮ Главная Далее ❯


Примеры в каждой главе

С помощью нашего онлайн-редактора SQL вы можете редактировать операторы SQL и нажимать кнопку для просмотра результата.

Пример

SELECT * FROM Customers;

Попробуйте сами »

Нажмите кнопку «Попробуйте сами», чтобы увидеть, как это работает.


Упражнения SQL

Проверьте себя с помощью упражнений

Упражнение:

Вставьте отсутствующий оператор, чтобы получить все столбцы из Клиенты табл.

 * ОТ клиентов;
 

Начать упражнение



Примеры SQL

Учитесь на примерах! Этот учебник дополняет все объяснения поясняющими примерами.

Просмотреть все примеры SQL


Викторина по SQL

Проверьте свои навыки SQL в W3Schools!

Начать тест SQL!


Мое обучение

Отслеживайте свои успехи с помощью бесплатной программы «Мое обучение» здесь, в W3Schools.

Войдите в свою учетную запись и начните зарабатывать очки!

Это дополнительная функция. Вы можете учиться в W3Schools без использования My Learning.



Ссылки SQL

AT W3Schools Вы найдете полную ссылку для ключевых слов и функции:

Ссылка на ключевое слово SQL

Функции MySQL

Функции SQLSERVER

Функции доступа

SQL Quick


MS DATIS

SQL QUICK


MS DATIS

SQL QUICK


SQLIN

Типы данных и диапазоны для Microsoft Access, MySQL и SQL Server.

Типы данных SQL


Начните свою карьеру

Получите сертификат, пройдя курс

Получите сертификат

w3schoolsCERTIFIED. 2022

❮ Главная Далее ❯


НОВИНКА

Мы только что запустили
Видео W3Schools

Узнать

ВЫБОР ЦВЕТА
КОД ИГРЫ

Играть в игру




Top Tutorials
Учебное пособие по HTML
Учебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебник по SQL
Учебник по Python
Учебник по W3.CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery

Лучшие ссылки
HTML Reference
CSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3.CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference

лучших примеров
Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.
CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery

FORUM | О

W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.

Copyright 1999-2022 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.

Введение в SQL

❮ Предыдущий Далее ❯


SQL — это стандартный язык для доступа к базам данных и управления ими.


Что такое SQL?

  • SQL означает структурированный язык запросов
  • SQL позволяет вам получать доступ к базам данных и управлять ими
  • SQL стал стандартом Американского национального института стандартов (ANSI) в 1986 и Международной организации по стандартизации (ISO) в 1987

Что может SQL?

  • SQL может выполнять запросы к базе данных
  • SQL может извлекать данные из базы данных
  • SQL может вставлять записи в базу данных
  • SQL может обновлять записи в базе данных
  • SQL может удалять записи из базы данных
  • SQL может создавать новые базы данных
  • SQL может создавать новые таблицы в базе данных
  • SQL может создавать хранимые процедуры в базе данных
  • SQL может создавать представления в базе данных
  • SQL может устанавливать разрешения для таблиц, процедур и представлений

SQL является стандартом, НО.

Хотя SQL является стандартом ANSI/ISO, существуют разные версии языка SQL.

Однако для соответствия стандарту ANSI все они поддерживают как минимум основные команды (например,

ВЫБЕРИТЕ , ОБНОВЛЕНИЕ , УДАЛИТЬ , ВСТАВИТЬ , ГДЕ ) аналогичным образом.

Примечание: Большинство программ баз данных SQL также имеют свои собственные расширения в дополнение к стандарту SQL!


Использование SQL на вашем веб-сайте

Для создания веб-сайта, отображающего данные из базы данных, вам потребуется:

  • Программа базы данных RDBMS (например, MS Access, SQL Server, MySQL)
  • Чтобы использовать язык сценариев на стороне сервера, например PHP или ASP
  • Чтобы использовать SQL для получения нужных данных
  • Использовать HTML/CSS для оформления страницы


RDBMS

RDBMS расшифровывается как система управления реляционными базами данных.

РСУБД является основой для SQL и для всех современных систем баз данных, таких как MS SQL Server, IBM DB2, Oracle, MySQL и Microsoft Access.

Данные в СУБД хранятся в объектах базы данных, называемых таблицами. Таблица представляет собой набор связанных записей данных и состоит из столбцов и строк.

Посмотрите на таблицу «Клиенты»:

Пример

SELECT * FROM Customers;

Попробуйте сами »

Каждая таблица разбита на более мелкие объекты, называемые полями. Поля в таблица Customers состоит из CustomerID, CustomerName, ContactName, Address, Город, почтовый индекс и страна. Поле — это столбец в таблице, предназначенный для хранения конкретную информацию о каждой записи в таблице.

Запись, также называемая строкой, представляет собой каждую отдельную запись, которая существует в таблице. Например, есть 91 записи в приведенной выше таблице Customers. Рекорд — это горизонтальный объект в таблице.

Столбец — это вертикальный объект в таблице, содержащий всю информацию связанный с определенным полем в таблице.

❮ Предыдущий Далее ❯


НОВИНКА

Мы только что запустили
Видео W3Schools

Узнать

ВЫБОР ЦВЕТА
КОД ИГРЫ

Играть в игру




Top Tutorials
Учебник HTML
Учебник CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3.CSS
Учебное пособие по Bootstrap
Учебное пособие по PHP
Учебное пособие по Java
Учебное пособие по C++
Учебное пособие по jQuery

Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery

Основные примеры
Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *