Sql задачи и вопросы для собеседования: будь готов!

Geekbrains

Сайт: https://geekbrains.ruСтоимость: 5 500 р.
«Основы баз данных»

Слушатель научится:

  • Проектировать базы данных
  • Писать SQL-запросы
  • Устанавливать и работать с СУБД MySql
  • Использовать MySql Workbench

Программа первых десяти уроков:

  • Урок 1. Реляционные базы данных
  • Урок 2. Установка СУБД
  • Урок 3. Проектирование базы данных, нормальные формы
  • Урок 4. SQL-команда CREATE
  • Урок 5. SQL-команда INSERT
  • Урок 6. SQL-команды SELECT и WHERE
  • Урок 7. SQL-команды DISTINCT, ORDER BY, LIMIT
  • Урок 8. SQL-команды DELETE и UPDATE
  • Урок 9. Согласованность данных
  • Урок 10. Внешний ключ

Слушателям выдается сертификат об окончании обучения.

Условия

Стоимость участия для физических лиц: 13 000 рублей за весь курс.

Стоимость участия для юридических лиц: 15 500 рублей за весь курс за одного участника. При регистрации от 3-х участников на один курс действует 15% скидка.

Информация для физических лиц

Организатор мероприятия: ИП Абдюшев Павел Рашитович, ИНН 503500793903, ОГРНИП 317505300051323

Услуги оказываются на основании публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ.

Все реквизиты для оплаты вы получите на почту после того, как нажмете кнопку справа Записаться и заполните все поля. Если Вы не получили письмо в течение рабочего дня, просто отправьте сообщение на trainings@software-testing.ru

Если у Вас есть какие-то вопросы, их можно задать по адресу указанному выше.

Информация для юридических лиц:

По вопросам оформления договора и выставления счета на оплату обращайтесь по адресу trainings@software-testing.ru

Обратите внимание, что при постоплате стоимость тренинга увеличивается на 25%

Описание

21 век — век информации. Она окружает нас везде: дома, на работе, в машине, в метро. Информация хранится в базах данных в удобном для компьютера виде. Какие бы приложения вы не тестировали: десктопные, веб или мобильные, банковские системы или игры — вам нужно будет получать информацию из базы данных. Для этого используют специальный язык запросов — SQL (Structure Query Language). Базовые знания SQL сейчас требуют даже на вакансию джуниор-тестировщика.

Тренинг рассчитан на людей, знакомых с основами тестирования и желающих научиться работе с базами данных. Мы расскажем, как устроена база данных, как в ней хранятся данные и как их получать, начиная с самых простых запросов к одной таблице. Те, кто самостоятельно начинал знакомиться с SQL смогут структурировать свои знания, узнать об особенностях работы с разными СУБД и повысить мастерство написания сложных запросов к нескольким таблицам, используя внешние объединения по любым условиям.

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

Программа тренинга

Лекция 0 — Вводная. Строение баз данных и организационные вопросы.

  • Структура тренинга и орг.вопросы.
  • Основы устройства реляционных БД
  • Общие сведения про SQL:
    • Определение, отличие от других языков.
    • История создания SQL
    • Стандарты языка SQL, их плюсы и минусы

Модуль I

Лекция 1 — Исследование БД и структура запроса SELECT.

  • Установка Oracle XE и SQL Workbench
  • Структура запроса Select
  • Простейшие запросы к одной таблице
  • Понятие схемы пользователя
  • Исследование БД с помощью служебных таблиц
  • Применение знаний о структуре БД к тестированию
  • Работа с ошибками при составлении запроса

Лекция 2 — Типы данных, применяемые в SQL

  • Типы для хранения чисел.
  • Типы данных для хранения строк
  • Типы данных для хранения дат и времени
  • Специальные типы данных для хранения xml, идентификаторов и объектов.
  • Типичные ошибки, выявляемые для разных типов данных при тестировании

Модуль II

Лекция 3 — Выбор данных из одной таблицы с разными условиями

  • Задание условий для разных типов данных: числа, даты, строки в разной кодировке.
  • Условие LIKE и использование регулярных выражений в функции regexp_like
  • Значение NULL и работа с ним в запросе. Функция NVL
  • Функции конвертации типов данных
  • Объединение условий

Лекция 4 — Выбор данных из одной таблицы с разными условиями

  • Функции, применяемые для разных типов данных
  • Работа с датами и временем

Модуль III

Лекция 5 — Выбор данных из нескольких таблиц

  • Объединение таблиц в запросе через where
  • Разные типы JOIN
  • Отличия задания условий через Where и Join
  • Задание псевдонимов для таблиц

Лекция 6 — Примеры решения сложных задач на объединение нескольких таблиц

  • Объединение таблиц по неравенству
  • Объединение таблицы с самой собой
  • Типы сортировки
  • Сортировка колонок, содержащих значения NULL
  • Возможные ошибки приложений при добавлении сортировки

Модуль IV

Лекция 7 — Запросы с подзапросами

  • Работа с операторами In и Exist
  • Использование подзапросов

Лекция 8 — Работа с результатами запроса

  • Вывод уникальных значений через DISTINCT
  • Объединение и пересечение результатов. Union, union all, intersect, minus
  • Условный вывод данных с помощью оператора CASE

Модуль V

Лекция 9 — Запросы для анализа данных и подготовки отчетов

  • Операции над выбираемыми данными
  • Группировка данных. Запросы с GROUP BY и HAVING.
  • Отбор значимых для тестирования данных.

Лекция 10 — Изменение данных

  • Оператор Update
  • Операторы TCL — commit и rollback
  • Понятие ограничений и работа с ними

Модуль VI

Лекция 11 — Вставка и удаление данных

  • Оператор Insert
  • Оператор Delete

Лекция 12 — Работа со структурой БД и управление правами доступа

  • Основные операторы DCL. Управление правами доступа
  • Основные операторы DDL. Задание и изменение структуры БД.

Интерактивные онлайн-курсы «LearnDB»

Сайт: https://learndb.ru/Стоимость: бесплатно
Интерактивные онлайн-курсы по SQL, СУБД, PostgreSQL.

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

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

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

Программа:

  • Введение. В процессе прохождения темы знакомство с интерфейсом курсов и выполнение простейших SQL запросов
  • Отсечение строк и сортировка. Рассматриваются средства SQL для исключения из результатов запроса строк данных, а также сортировки строк
  • Соединения. Слушатели учатся извлекать данные из нескольких таблиц. Рассматривают разные типы соединения: внутреннее, внешнее, декартово произведение
  • Агрегатные функции. Рассматриваются возможности SQL для выполнения аналитики данных. Использование GROUP BY, HAVING, CUBE, ROLLUP

Как можно войти в профессию

Я окончила бакалавриат и магистратуру по направлению «Бизнес-информатика». Всегда тяготела к точным наукам, но учеба на стыке технических и бизнес-дисциплин показалась более перспективной и интересной. Мы не ограничивались разработкой или, например, управленческими навыками, а копали глубже: изучали общую теорию систем, структуры, базы и хранилища данных, моделирование бизнес-процессов, а также их совершенствование и управление ими. Особый фокус делали на анализе данных, благодаря чему и произошло мое первое знакомство с языком SQL. 

Несколько лет проработала 1С-программистом, однако после первого курса магистратуры поняла, что в жизни надо что-то менять. Вакансия «SQL-аналитик» в «Инфомаксимум» поначалу вызвала больше вопросов и опасений: а смогу ли я? Хватит ли профильных навыков и компетенций? 

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

Сложность была в том, что пришла я сразу на большой проект и все практические навыки получала на «поле боя». Постоянно спрашивала у коллег различные тонкости и много-много-много изучала самостоятельно — на курсах, в книгах и экспертных статьях. 

На что стоит обратить внимание?

Вот список понятий, которые стоит знать если ты хочешь очень хорошо разбираться в MySQL:

  • управление базами данных: CREATE DATABASE, DROP DATABASE, SHOW DATABASES
  • управление таблицами: CREATE TABLE, ALTER TABLE, DROP TABLE, SHOW TABLES, SHOW CREATE TABLE, DESC table, TRUNCATE table
  • управление правами доступа: GRANT, SHOW GRANTS
  • типы колонок: ENUM, SET, CHAR, VARCHAR, TEXT, DATE, TIME, DATETIME, TIMESTAMP, INT, FLOAT, TINYINT, DECIMAL, MEDIUMTEXT, LONGTEXT. В чем разница между TIMESTAMP и DATETIME? Между FLOAT и DECIMAL? CHAR и VARCHAR?
  • DECIMAL — тип с фиксированной точностью. В отличие от FLOAT/DOUBLE, которые приближенные и могут терять знаки после запятой, DECIMAL хранит заданное число знаков. Используется например, для хранения суммы денег.
  • можно ли искать пустые поля условием WHERE x = NULL?
  • при создании таблицы можно сделать поля обязательными для заполнения, указав NOT NULL
  • SELECT/INSERT/DELETE/UPDATE
  • порядок выполнения запроса выборки: FROM+JOIN, WHERE, GROUP, HAVING, ORDER, LIMIT, SELECT (его надо знать наизусть)
  • REPLACE, INSERT IGNORE, INSERT .. ON DUPLICATE KEY UPDATE
  • выборка данных: DISTINCT, JOIN, ORDER BY, GROUP BY, HAVING, LIMIT
  • группировка и аггрегатные функции: GROUP BY, COUNT, MAX, MIN, AVG, SUM
  • транзакции: BEGIN, ROLLBACK, COMMIT
  • внешние ключи: FOREIGN KEY. Внешний ключ — это поле, которое хранит id записи в другой таблице
  • первичный ключ: естественный и искуственный
  • обычные и уникальные индексы (ключи)
  • оптимизация запросов, команда EXPLAIN
  • отличие InnoDB от MyISAM

Портал «itvdn.com»

Сайт: https://itvdn.comСтоимость: по запросу
«SQL Essential»

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

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

Программа:

  • Введение в SQL
  • Запросы. Манипуляция данными
  • Основы DDL
  • Проектирование БД
  • Команда JOIN
  • Вложенные запросы
  • Индексирование
  • Хранимые процедуры. Пользовательские функции
  • Транзакции. Триггеры

По окончании обучения выдается сертификат.

SQL Справочник

SQL Ключевые слова
ADD
ADD CONSTRAINT
ALTER
ALTER COLUMN
ALTER TABLE
ALL
AND
ANY
AS
ASC
BACKUP DATABASE
BETWEEN
CASE
CHECK
COLUMN
CONSTRAINT
CREATE
CREATE DATABASE
CREATE INDEX
CREATE OR REPLACE VIEW
CREATE TABLE
CREATE PROCEDURE
CREATE UNIQUE INDEX
CREATE VIEW
DATABASE
DEFAULT
DELETE
DESC
DISTINCT
DROP
DROP COLUMN
DROP CONSTRAINT
DROP DATABASE
DROP DEFAULT
DROP INDEX
DROP TABLE
DROP VIEW
EXEC
EXISTS
FOREIGN KEY
FROM
FULL OUTER JOIN
GROUP BY
HAVING
IN
INDEX
INNER JOIN
INSERT INTO
INSERT INTO SELECT
IS NULL
IS NOT NULL
JOIN
LEFT JOIN
LIKE
LIMIT
NOT
NOT NULL
OR
ORDER BY
OUTER JOIN
PRIMARY KEY
PROCEDURE
RIGHT JOIN
ROWNUM
SELECT
SELECT DISTINCT
SELECT INTO
SELECT TOP
SET
TABLE
TOP
TRUNCATE TABLE
UNION
UNION ALL
UNIQUE
UPDATE
VALUES
VIEW
WHERE

MySQL Функции
Функции строк
ASCII
CHAR_LENGTH
CHARACTER_LENGTH
CONCAT
CONCAT_WS
FIELD
FIND_IN_SET
FORMAT
INSERT
INSTR
LCASE
LEFT
LENGTH
LOCATE
LOWER
LPAD
LTRIM
MID
POSITION
REPEAT
REPLACE
REVERSE
RIGHT
RPAD
RTRIM
SPACE
STRCMP
SUBSTR
SUBSTRING
SUBSTRING_INDEX
TRIM
UCASE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATAN2
AVG
CEIL
CEILING
COS
COT
COUNT
DEGREES
DIV
EXP
FLOOR
GREATEST
LEAST
LN
LOG
LOG10
LOG2
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SUM
TAN
TRUNCATE
Функции дат
ADDDATE
ADDTIME
CURDATE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURTIME
DATE
DATEDIFF
DATE_ADD
DATE_FORMAT
DATE_SUB
DAY
DAYNAME
DAYOFMONTH
DAYOFWEEK
DAYOFYEAR
EXTRACT
FROM_DAYS
HOUR
LAST_DAY
LOCALTIME
LOCALTIMESTAMP
MAKEDATE
MAKETIME
MICROSECOND
MINUTE
MONTH
MONTHNAME
NOW
PERIOD_ADD
PERIOD_DIFF
QUARTER
SECOND
SEC_TO_TIME
STR_TO_DATE
SUBDATE
SUBTIME
SYSDATE
TIME
TIME_FORMAT
TIME_TO_SEC
TIMEDIFF
TIMESTAMP
TO_DAYS
WEEK
WEEKDAY
WEEKOFYEAR
YEAR
YEARWEEK
Функции расширений
BIN
BINARY
CASE
CAST
COALESCE
CONNECTION_ID
CONV
CONVERT
CURRENT_USER
DATABASE
IF
IFNULL
ISNULL
LAST_INSERT_ID
NULLIF
SESSION_USER
SYSTEM_USER
USER
VERSION

SQL Server функции
Функции строк
ASCII
CHAR
CHARINDEX
CONCAT
Concat with +
CONCAT_WS
DATALENGTH
DIFFERENCE
FORMAT
LEFT
LEN
LOWER
LTRIM
NCHAR
PATINDEX
QUOTENAME
REPLACE
REPLICATE
REVERSE
RIGHT
RTRIM
SOUNDEX
SPACE
STR
STUFF
SUBSTRING
TRANSLATE
TRIM
UNICODE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATN2
AVG
CEILING
COUNT
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
MAX
MIN
PI
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SQUARE
SUM
TAN
Функции дат
CURRENT_TIMESTAMP
DATEADD
DATEDIFF
DATEFROMPARTS
DATENAME
DATEPART
DAY
GETDATE
GETUTCDATE
ISDATE
MONTH
SYSDATETIME
YEAR
Функции расширений
CAST
COALESCE
CONVERT
CURRENT_USER
IIF
ISNULL
ISNUMERIC
NULLIF
SESSION_USER
SESSIONPROPERTY
SYSTEM_USER
USER_NAME

MS Access функции
Функции строк
Asc
Chr
Concat with &
CurDir
Format
InStr
InstrRev
LCase
Left
Len
LTrim
Mid
Replace
Right
RTrim
Space
Split
Str
StrComp
StrConv
StrReverse
Trim
UCase
Функции чисел
Abs
Atn
Avg
Cos
Count
Exp
Fix
Format
Int
Max
Min
Randomize
Rnd
Round
Sgn
Sqr
Sum
Val
Функции дат
Date
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
Format
Hour
Minute
Month
MonthName
Now
Second
Time
TimeSerial
TimeValue
Weekday
WeekdayName
Year
Другие функции
CurrentUser
Environ
IsDate
IsNull
IsNumeric

SQL ОператорыSQL Типы данныхSQL Краткий справочник

Демо база данных

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

Ниже приведен выбор из таблицы «Orders»:

OrderID CustomerID EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2

И выбор из таблицы «Customers»:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

SQL Справочник

SQL Ключевые слова
ADD
ADD CONSTRAINT
ALTER
ALTER COLUMN
ALTER TABLE
ALL
AND
ANY
AS
ASC
BACKUP DATABASE
BETWEEN
CASE
CHECK
COLUMN
CONSTRAINT
CREATE
CREATE DATABASE
CREATE INDEX
CREATE OR REPLACE VIEW
CREATE TABLE
CREATE PROCEDURE
CREATE UNIQUE INDEX
CREATE VIEW
DATABASE
DEFAULT
DELETE
DESC
DISTINCT
DROP
DROP COLUMN
DROP CONSTRAINT
DROP DATABASE
DROP DEFAULT
DROP INDEX
DROP TABLE
DROP VIEW
EXEC
EXISTS
FOREIGN KEY
FROM
FULL OUTER JOIN
GROUP BY
HAVING
IN
INDEX
INNER JOIN
INSERT INTO
INSERT INTO SELECT
IS NULL
IS NOT NULL
JOIN
LEFT JOIN
LIKE
LIMIT
NOT
NOT NULL
OR
ORDER BY
OUTER JOIN
PRIMARY KEY
PROCEDURE
RIGHT JOIN
ROWNUM
SELECT
SELECT DISTINCT
SELECT INTO
SELECT TOP
SET
TABLE
TOP
TRUNCATE TABLE
UNION
UNION ALL
UNIQUE
UPDATE
VALUES
VIEW
WHERE

MySQL Функции
Функции строк
ASCII
CHAR_LENGTH
CHARACTER_LENGTH
CONCAT
CONCAT_WS
FIELD
FIND_IN_SET
FORMAT
INSERT
INSTR
LCASE
LEFT
LENGTH
LOCATE
LOWER
LPAD
LTRIM
MID
POSITION
REPEAT
REPLACE
REVERSE
RIGHT
RPAD
RTRIM
SPACE
STRCMP
SUBSTR
SUBSTRING
SUBSTRING_INDEX
TRIM
UCASE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATAN2
AVG
CEIL
CEILING
COS
COT
COUNT
DEGREES
DIV
EXP
FLOOR
GREATEST
LEAST
LN
LOG
LOG10
LOG2
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SUM
TAN
TRUNCATE
Функции дат
ADDDATE
ADDTIME
CURDATE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURTIME
DATE
DATEDIFF
DATE_ADD
DATE_FORMAT
DATE_SUB
DAY
DAYNAME
DAYOFMONTH
DAYOFWEEK
DAYOFYEAR
EXTRACT
FROM_DAYS
HOUR
LAST_DAY
LOCALTIME
LOCALTIMESTAMP
MAKEDATE
MAKETIME
MICROSECOND
MINUTE
MONTH
MONTHNAME
NOW
PERIOD_ADD
PERIOD_DIFF
QUARTER
SECOND
SEC_TO_TIME
STR_TO_DATE
SUBDATE
SUBTIME
SYSDATE
TIME
TIME_FORMAT
TIME_TO_SEC
TIMEDIFF
TIMESTAMP
TO_DAYS
WEEK
WEEKDAY
WEEKOFYEAR
YEAR
YEARWEEK
Функции расширений
BIN
BINARY
CASE
CAST
COALESCE
CONNECTION_ID
CONV
CONVERT
CURRENT_USER
DATABASE
IF
IFNULL
ISNULL
LAST_INSERT_ID
NULLIF
SESSION_USER
SYSTEM_USER
USER
VERSION

SQL Server функции
Функции строк
ASCII
CHAR
CHARINDEX
CONCAT
Concat with +
CONCAT_WS
DATALENGTH
DIFFERENCE
FORMAT
LEFT
LEN
LOWER
LTRIM
NCHAR
PATINDEX
QUOTENAME
REPLACE
REPLICATE
REVERSE
RIGHT
RTRIM
SOUNDEX
SPACE
STR
STUFF
SUBSTRING
TRANSLATE
TRIM
UNICODE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATN2
AVG
CEILING
COUNT
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
MAX
MIN
PI
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SQUARE
SUM
TAN
Функции дат
CURRENT_TIMESTAMP
DATEADD
DATEDIFF
DATEFROMPARTS
DATENAME
DATEPART
DAY
GETDATE
GETUTCDATE
ISDATE
MONTH
SYSDATETIME
YEAR
Функции расширений
CAST
COALESCE
CONVERT
CURRENT_USER
IIF
ISNULL
ISNUMERIC
NULLIF
SESSION_USER
SESSIONPROPERTY
SYSTEM_USER
USER_NAME

MS Access функции
Функции строк
Asc
Chr
Concat with &
CurDir
Format
InStr
InstrRev
LCase
Left
Len
LTrim
Mid
Replace
Right
RTrim
Space
Split
Str
StrComp
StrConv
StrReverse
Trim
UCase
Функции чисел
Abs
Atn
Avg
Cos
Count
Exp
Fix
Format
Int
Max
Min
Randomize
Rnd
Round
Sgn
Sqr
Sum
Val
Функции дат
Date
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
Format
Hour
Minute
Month
MonthName
Now
Second
Time
TimeSerial
TimeValue
Weekday
WeekdayName
Year
Другие функции
CurrentUser
Environ
IsDate
IsNull
IsNumeric

SQL ОператорыSQL Типы данныхSQL Краткий справочник

Школа программирования «itProger»

Сайт: https://itproger.comСтоимость: по запросу
«Уроки SQL для начинающих»

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

Программа курса:

  • Что такое SQL? Введение
  • Создание БД, таблиц и работа с ними
  • Добавление и обновление записей в БД
  • Удаление данных из БД
  • Выборка данных из БД. Where, Order, Limit
  • Создание индексов и работы с ними
  • Объединение данных. Join (Inner, Left, Right)
  • Псевдонимы, функции и Group By

SQL Справочник

SQL Ключевые слова
ADD
ADD CONSTRAINT
ALTER
ALTER COLUMN
ALTER TABLE
ALL
AND
ANY
AS
ASC
BACKUP DATABASE
BETWEEN
CASE
CHECK
COLUMN
CONSTRAINT
CREATE
CREATE DATABASE
CREATE INDEX
CREATE OR REPLACE VIEW
CREATE TABLE
CREATE PROCEDURE
CREATE UNIQUE INDEX
CREATE VIEW
DATABASE
DEFAULT
DELETE
DESC
DISTINCT
DROP
DROP COLUMN
DROP CONSTRAINT
DROP DATABASE
DROP DEFAULT
DROP INDEX
DROP TABLE
DROP VIEW
EXEC
EXISTS
FOREIGN KEY
FROM
FULL OUTER JOIN
GROUP BY
HAVING
IN
INDEX
INNER JOIN
INSERT INTO
INSERT INTO SELECT
IS NULL
IS NOT NULL
JOIN
LEFT JOIN
LIKE
LIMIT
NOT
NOT NULL
OR
ORDER BY
OUTER JOIN
PRIMARY KEY
PROCEDURE
RIGHT JOIN
ROWNUM
SELECT
SELECT DISTINCT
SELECT INTO
SELECT TOP
SET
TABLE
TOP
TRUNCATE TABLE
UNION
UNION ALL
UNIQUE
UPDATE
VALUES
VIEW
WHERE

MySQL Функции
Функции строк
ASCII
CHAR_LENGTH
CHARACTER_LENGTH
CONCAT
CONCAT_WS
FIELD
FIND_IN_SET
FORMAT
INSERT
INSTR
LCASE
LEFT
LENGTH
LOCATE
LOWER
LPAD
LTRIM
MID
POSITION
REPEAT
REPLACE
REVERSE
RIGHT
RPAD
RTRIM
SPACE
STRCMP
SUBSTR
SUBSTRING
SUBSTRING_INDEX
TRIM
UCASE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATAN2
AVG
CEIL
CEILING
COS
COT
COUNT
DEGREES
DIV
EXP
FLOOR
GREATEST
LEAST
LN
LOG
LOG10
LOG2
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SUM
TAN
TRUNCATE
Функции дат
ADDDATE
ADDTIME
CURDATE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURTIME
DATE
DATEDIFF
DATE_ADD
DATE_FORMAT
DATE_SUB
DAY
DAYNAME
DAYOFMONTH
DAYOFWEEK
DAYOFYEAR
EXTRACT
FROM_DAYS
HOUR
LAST_DAY
LOCALTIME
LOCALTIMESTAMP
MAKEDATE
MAKETIME
MICROSECOND
MINUTE
MONTH
MONTHNAME
NOW
PERIOD_ADD
PERIOD_DIFF
QUARTER
SECOND
SEC_TO_TIME
STR_TO_DATE
SUBDATE
SUBTIME
SYSDATE
TIME
TIME_FORMAT
TIME_TO_SEC
TIMEDIFF
TIMESTAMP
TO_DAYS
WEEK
WEEKDAY
WEEKOFYEAR
YEAR
YEARWEEK
Функции расширений
BIN
BINARY
CASE
CAST
COALESCE
CONNECTION_ID
CONV
CONVERT
CURRENT_USER
DATABASE
IF
IFNULL
ISNULL
LAST_INSERT_ID
NULLIF
SESSION_USER
SYSTEM_USER
USER
VERSION

SQL Server функции
Функции строк
ASCII
CHAR
CHARINDEX
CONCAT
Concat with +
CONCAT_WS
DATALENGTH
DIFFERENCE
FORMAT
LEFT
LEN
LOWER
LTRIM
NCHAR
PATINDEX
QUOTENAME
REPLACE
REPLICATE
REVERSE
RIGHT
RTRIM
SOUNDEX
SPACE
STR
STUFF
SUBSTRING
TRANSLATE
TRIM
UNICODE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATN2
AVG
CEILING
COUNT
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
MAX
MIN
PI
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SQUARE
SUM
TAN
Функции дат
CURRENT_TIMESTAMP
DATEADD
DATEDIFF
DATEFROMPARTS
DATENAME
DATEPART
DAY
GETDATE
GETUTCDATE
ISDATE
MONTH
SYSDATETIME
YEAR
Функции расширений
CAST
COALESCE
CONVERT
CURRENT_USER
IIF
ISNULL
ISNUMERIC
NULLIF
SESSION_USER
SESSIONPROPERTY
SYSTEM_USER
USER_NAME

MS Access функции
Функции строк
Asc
Chr
Concat with &
CurDir
Format
InStr
InstrRev
LCase
Left
Len
LTrim
Mid
Replace
Right
RTrim
Space
Split
Str
StrComp
StrConv
StrReverse
Trim
UCase
Функции чисел
Abs
Atn
Avg
Cos
Count
Exp
Fix
Format
Int
Max
Min
Randomize
Rnd
Round
Sgn
Sqr
Sum
Val
Функции дат
Date
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
Format
Hour
Minute
Month
MonthName
Now
Second
Time
TimeSerial
TimeValue
Weekday
WeekdayName
Year
Другие функции
CurrentUser
Environ
IsDate
IsNull
IsNumeric

SQL ОператорыSQL Типы данныхSQL Краткий справочник

Формат

12 занятий (9 часов теории) + много практических заданий для самостоятельной работы + постоянные консультации тренера в чате.

Обучение происходит следующим образом:

Раз в неделю по понедельникам до 12.00 по Московскому времени выкладываются теоретические лекции, ссылки на дополнительные материалы, домашняя работа.

Теоретическую информацию можно посмотреть в любое удобное время.

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

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

Все выпускники, успешно сдавшие домашние задания, получают сертификат.

Образовательная платформа «Stepik»

Сайт: https://stepik.orgСтоимость: 4 500 р.
«Основы SQL»

Online-курс по основам SQL. Более 4 часов видео и 260 задач. Насыщенная программа с короткими видео-уроками и большим количеством практики. Изучают SQL на примере MySQL — одной из самых популярных баз данных.

Курс — победитель V международного конкурса «EdCrunch Award 2019» в номинации «Лучший онлайн-курс, размещенный на образовательной платформе».

Курс для широкого круга слушателей. Не требует специализированных знаний ни в программировании, ни в базах данных.

Программа курса:

  • Простые SQL запросы
  • Добавление, изменение, удаление
  • Создание таблиц
  • Индексы
  • Изменения таблиц
  • Поиск текста
  • Вспомогательные функции
  • Группировка данных
  • Многотабличные запросы
  • Вложенные запросы

По окончании курса выдается сертификат «Stepik».

SQL Учебник

SQL ГлавнаяSQL ВведениеSQL СинтаксисSQL SELECTSQL SELECT DISTINCTSQL WHERESQL AND, OR, NOTSQL ORDER BYSQL INSERT INTOSQL Значение NullSQL Инструкция UPDATESQL Инструкция DELETESQL SELECT TOPSQL MIN() и MAX()SQL COUNT(), AVG() и …SQL Оператор LIKESQL ПодстановочныйSQL Оператор INSQL Оператор BETWEENSQL ПсевдонимыSQL JOINSQL JOIN ВнутриSQL JOIN СлеваSQL JOIN СправаSQL JOIN ПолноеSQL JOIN СамSQL Оператор UNIONSQL GROUP BYSQL HAVINGSQL Оператор ExistsSQL Операторы Any, AllSQL SELECT INTOSQL INSERT INTO SELECTSQL Инструкция CASESQL Функции NULLSQL ХранимаяSQL Комментарии

Соединения (джойны)

Теперь мы хотим увидеть названия (не обязательно уникальные) всех книг Дэна Брауна, которые были взяты из библиотеки, и когда эти книги нужно вернуть:

Результат:

Title Return Date
The Lost Symbol 2016-03-23 00:00:00
Inferno 2016-04-13 00:00:00
The Lost Symbol 2016-04-19 00:00:00

По большей части запрос похож на предыдущий за исключением секции . Это означает, что мы запрашиваем данные из другой таблицы. Мы не обращаемся ни к таблице “books”, ни к таблице “borrowings”. Вместо этого мы обращаемся к новой таблице, которая создалась соединением этих двух таблиц.

— это, считай, новая таблица, которая была сформирована комбинированием всех записей из таблиц «books» и «borrowings», в которых значения совпадают. Результатом такого слияния будет:

А потом мы делаем запрос к этой таблице так же, как в примере выше. Это значит, что при соединении таблиц нужно заботиться только о том, как провести это соединение. А потом запрос становится таким же понятным, как в случае с «простым запросом» из пункта 3.

Давайте попробуем чуть более сложное соединение с двумя таблицами.

Теперь мы хотим получить имена и фамилии людей, которые взяли из библиотеки книги автора “Dan Brown”.

На этот раз давайте пойдем снизу вверх:

Шаг Step 1 — откуда берем данные? Чтобы получить нужный нам результат, нужно соединить таблицы “member” и “books” с таблицей “borrowings”. Секция JOIN будет выглядеть так:

Шаг 2 — какие данные показываем? Нас интересуют только те данные, где автор книги — “Dan Brown”

Шаг 3 — как показываем данные? Теперь, когда данные получены, нужно просто вывести имя и фамилию тех, кто взял книги:

Супер! Осталось лишь объединить три составные части и сделать нужный нам запрос:

Что даст нам:

First Name Last Name
Mike Willis
Ellen Horton
Ellen Horton

Отлично! Но имена повторяются (они не уникальны). Мы скоро это исправим.

5. Агрегирование

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

Давайте продолжим наш пример, в котором появляются повторяющиеся имена. Видно, что Ellen Horton взяла больше одной книги, но это не самый лучший способ показать эту информацию. Можно сделать другой запрос:

Что даст нам нужный результат:

First Name Last Name Number of books borrowed
Mike Willis 1
Ellen Horton 2

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

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

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

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

Результат:

author sum
Robin Sharma 4
Dan Brown 6
John Green 3
Amish Tripathi 2

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

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

Подзапросы это обычные SQL-запросы, встроенные в более крупные запросы. Они делятся на три вида по типу возвращаемого результата.

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

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

Adblock
detector