SlideShare una empresa de Scribd logo
1 de 29
ЗАЧЕМ SQL ТЕСТИРОВЩИКУ И
ЧТО ЕМУ НУЖНО ПРО НЕГО ЗНАТЬ
Безпалый Кирилл, HubSchool, ImpactUA
Георгий Гулёв, HubSchool, EPAM Lviv
СЕГОДНЯ В ПРОГРАММЕ
• Что такое SQL
• Зачем он нужен тестировщику
• Основные команды
• Что надо знать по SQL при прохождении собеседования
ЧТО ТАКОЕ SQL
ИЗ ВИКИПЕДИИ
Формальный непроцедурный язык
программирования, применяемый для
создания, модификации и управления
данными в произвольной реляционной
базе данных, управляемой
соответствующей СУБД
ДЛЯ ЛЮДЕЙ
SELECT Person.FirstName
, Person.LastName
, Employee.JobTitle
, Employee.BirthDate
, Department.Name as DepartmentName
, Department.GroupName
, Shift.Name AS ShiftName
, Employee.LoginID
, Employee.MaritalStatus
, Employee.Gender
FROM EmployeeDepartmentHistory as EDH
INNER JOIN Shift ON EDH.ShiftID = Shift.ShiftID
INNER JOIN Department ON EDH.DepartmentID = Department.DepartmentID
INNER JOIN Employee ON EDH.BusinessEntityID = Employee.BusinessEntityID
INNER JOIN Person ON Employee.BusinessEntityID = Person.BusinessEntityID
Язык для обработки
(чтения/записи/удаления)
информации записанной
в виде таблиц.
ЗАЧЕМ ОН НУЖЕН ТЕСТИРОВЩИКУ
SQL В ПРОГРАММИРОВАНИИ
• Реляционная БД - стандарт де-факто в способе хранения данных когда
требуется гарантированное хранение и доступность информации.
• 99,9% веб-приложений и не только используют SQL базы данных как
способ хранения информации.
ЧТО ЖЕ НА ПРАКТИКЕ
ЕЩЕ
ОСНОВНЫЕ КОМАНДЫ
SELECT
• Оператор SELECT используется для
извлечения информации или
извлечения данных из одной
таблицы.
• Для извлечения информации из
нескольких таблиц используем JOIN-
ы, UNION или INTERSECT
• Для запроса надо задать минимум
три момента:
• Столбцы для извлечения
• Таблицы из которых извлекаем
информацию
• Условия, если таковые имеются,
которым данные должны удовлетворять
Выборка информации из таблиц(ы)
SELECT hotties
FROM room
WHERE lame != ‘yes’
СЛОЖНЫЕ УСЛОВИЯ
SELECT first_name, last_name
FROM employees
WHERE department = ‘shipping’ AND
gender = ‘F’ AND
hired >= ‘2000-JAN-01’
SELECT first_name, last_name
FROM employees
WHERE department = ‘shipping’ OR
employee_id <= 610007
Можно комбинировать несколько условий
для удовлетворения ваших «тайных
желаний».
UNION
SELECT first_name, last_name
FROM employees
WHERE department = ‘shipping’
UNION
SELECT first_name, last_name
FROM employees
WHERE hire_date
BETWEEN ‘1-Jan-1990’
AND ‘1-Jan-2000’
Команда UNION позволяет объединить
результаты любых двух или более запросов
в одну выборку, которая будет включать
все строки, которые принадлежат к
запросу в этом объединении.
EXCEPT И INTERSECT
• Команда EXCEPT возвращает все
значения которые есть в левом запросе,
но которые отсутствуют в правом.
• Команда INTERSECT возвращает все
значения, которые возвращаются
одновременно и левым и правым
запросом.
СВЯЗЫВАЕМ ТАБЛИЦЫ
• INNER JOIN – взять общее из двух
таблиц
• OUTER JOIN – взять записи из одной или
обеих таблиц, которые не имеют каких-
либо соответствующих записей можно
найти в другой таблице
• CROSS JOIN – возвращает все записи из
одной таблицы со всеми записями из
другой таблицы. ВСЕГДА добавляйте
условия.
INNER JOIN
OUTER JOINS
CROSS JOINS
ДЕМО
INSERT
• INSERT INTO *ТАБЛИЦА*
(*ПОЛЯ*)
• VALUES (*ЗНАЧЕНИЯ*)
Добавление информации
ДЕМО
UPDATE
• UPDATE *ТАБЛИЦА*
SET *ПОЛЕ* = *ЗНАЧЕНИЕ*
WHERE *УСЛОВИЯ*
Обновление существующей информации
ДЕМО
DELETE
• DELETE FROM *ТАБЛИЦА*
[FROM *ТАБЛИЦЫ*]
[WHERE *УСЛОВИЯ*]
Удаление информации из таблиц
DELETE FROM life
WHERE music_interests IN
(‘Justin Bieber’, ’Ані Лорак’)
ДЕМО
ДАЛЬШЕ ТОЛЬКО ВАША
ФАНТАЗИЯ 
ВОПРОСЫ? :)
Передаю слово
МАСТЕРУ
Зачем SQL тестировщику и что ему нужно про него знать

Más contenido relacionado

Similar a Зачем SQL тестировщику и что ему нужно про него знать

Мастер класс по алгоритмам. Часть 1
Мастер класс по алгоритмам. Часть 1Мастер класс по алгоритмам. Часть 1
Мастер класс по алгоритмам. Часть 1Pavel Egorov
 
лабораторная работа 3
лабораторная работа 3лабораторная работа 3
лабораторная работа 3student_kai
 
лабораторная работа 2
лабораторная работа 2лабораторная работа 2
лабораторная работа 2student_kai
 
запросы в Access 2007 для дистанционных курсов
запросы в Access 2007 для дистанционных курсовзапросы в Access 2007 для дистанционных курсов
запросы в Access 2007 для дистанционных курсовishuk
 

Similar a Зачем SQL тестировщику и что ему нужно про него знать (6)

Мастер класс по алгоритмам. Часть 1
Мастер класс по алгоритмам. Часть 1Мастер класс по алгоритмам. Часть 1
Мастер класс по алгоритмам. Часть 1
 
лабраб 2
лабраб 2лабраб 2
лабраб 2
 
лабораторная работа 3
лабораторная работа 3лабораторная работа 3
лабораторная работа 3
 
лабораторная работа 2
лабораторная работа 2лабораторная работа 2
лабораторная работа 2
 
запросы в Access 2007 для дистанционных курсов
запросы в Access 2007 для дистанционных курсовзапросы в Access 2007 для дистанционных курсов
запросы в Access 2007 для дистанционных курсов
 
PT Hackday#2
PT Hackday#2PT Hackday#2
PT Hackday#2
 

Más de Kyrylo Bezpalyi

Освітні можливості при вивченні програмування у ЗОШ та ВНЗ
Освітні можливості при вивченні програмування у ЗОШ та ВНЗОсвітні можливості при вивченні програмування у ЗОШ та ВНЗ
Освітні можливості при вивченні програмування у ЗОШ та ВНЗKyrylo Bezpalyi
 
Освітні можливості Microsoft для ЗОШ та ВНЗ
Освітні можливості Microsoft для ЗОШ та ВНЗОсвітні можливості Microsoft для ЗОШ та ВНЗ
Освітні можливості Microsoft для ЗОШ та ВНЗKyrylo Bezpalyi
 
Microsoft Azure для розробників та стартапів
Microsoft Azure для розробників та стартапівMicrosoft Azure для розробників та стартапів
Microsoft Azure для розробників та стартапівKyrylo Bezpalyi
 
Тестування ПЗ
Тестування ПЗТестування ПЗ
Тестування ПЗKyrylo Bezpalyi
 
Кто такой системный администратор
Кто такой системный администраторКто такой системный администратор
Кто такой системный администраторKyrylo Bezpalyi
 
Чим займаються програмісти або як почати писати код
Чим займаються програмісти або як почати писати кодЧим займаються програмісти або як почати писати код
Чим займаються програмісти або як почати писати кодKyrylo Bezpalyi
 
Как начать путь в IT
Как начать путь в ITКак начать путь в IT
Как начать путь в ITKyrylo Bezpalyi
 
Програми Microsoft для розробників та стартапів
Програми Microsoft для розробників та стартапів Програми Microsoft для розробників та стартапів
Програми Microsoft для розробників та стартапів Kyrylo Bezpalyi
 

Más de Kyrylo Bezpalyi (11)

Освітні можливості при вивченні програмування у ЗОШ та ВНЗ
Освітні можливості при вивченні програмування у ЗОШ та ВНЗОсвітні можливості при вивченні програмування у ЗОШ та ВНЗ
Освітні можливості при вивченні програмування у ЗОШ та ВНЗ
 
Освітні можливості Microsoft для ЗОШ та ВНЗ
Освітні можливості Microsoft для ЗОШ та ВНЗОсвітні можливості Microsoft для ЗОШ та ВНЗ
Освітні можливості Microsoft для ЗОШ та ВНЗ
 
Microsoft Azure для розробників та стартапів
Microsoft Azure для розробників та стартапівMicrosoft Azure для розробників та стартапів
Microsoft Azure для розробників та стартапів
 
What's new in c#7
What's new in c#7What's new in c#7
What's new in c#7
 
Тестування ПЗ
Тестування ПЗТестування ПЗ
Тестування ПЗ
 
Кто такой системный администратор
Кто такой системный администраторКто такой системный администратор
Кто такой системный администратор
 
Чим займаються програмісти або як почати писати код
Чим займаються програмісти або як почати писати кодЧим займаються програмісти або як почати писати код
Чим займаються програмісти або як почати писати код
 
Как начать путь в IT
Как начать путь в ITКак начать путь в IT
Как начать путь в IT
 
Програми Microsoft для розробників та стартапів
Програми Microsoft для розробників та стартапів Програми Microsoft для розробників та стартапів
Програми Microsoft для розробників та стартапів
 
Windows 8
Windows 8Windows 8
Windows 8
 
SQL Azure in deep
SQL Azure in deepSQL Azure in deep
SQL Azure in deep
 

Зачем SQL тестировщику и что ему нужно про него знать

  • 1. ЗАЧЕМ SQL ТЕСТИРОВЩИКУ И ЧТО ЕМУ НУЖНО ПРО НЕГО ЗНАТЬ Безпалый Кирилл, HubSchool, ImpactUA Георгий Гулёв, HubSchool, EPAM Lviv
  • 2. СЕГОДНЯ В ПРОГРАММЕ • Что такое SQL • Зачем он нужен тестировщику • Основные команды • Что надо знать по SQL при прохождении собеседования
  • 4. ИЗ ВИКИПЕДИИ Формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей СУБД
  • 5. ДЛЯ ЛЮДЕЙ SELECT Person.FirstName , Person.LastName , Employee.JobTitle , Employee.BirthDate , Department.Name as DepartmentName , Department.GroupName , Shift.Name AS ShiftName , Employee.LoginID , Employee.MaritalStatus , Employee.Gender FROM EmployeeDepartmentHistory as EDH INNER JOIN Shift ON EDH.ShiftID = Shift.ShiftID INNER JOIN Department ON EDH.DepartmentID = Department.DepartmentID INNER JOIN Employee ON EDH.BusinessEntityID = Employee.BusinessEntityID INNER JOIN Person ON Employee.BusinessEntityID = Person.BusinessEntityID Язык для обработки (чтения/записи/удаления) информации записанной в виде таблиц.
  • 6. ЗАЧЕМ ОН НУЖЕН ТЕСТИРОВЩИКУ
  • 7. SQL В ПРОГРАММИРОВАНИИ • Реляционная БД - стандарт де-факто в способе хранения данных когда требуется гарантированное хранение и доступность информации. • 99,9% веб-приложений и не только используют SQL базы данных как способ хранения информации.
  • 8.
  • 9. ЧТО ЖЕ НА ПРАКТИКЕ
  • 12. SELECT • Оператор SELECT используется для извлечения информации или извлечения данных из одной таблицы. • Для извлечения информации из нескольких таблиц используем JOIN- ы, UNION или INTERSECT • Для запроса надо задать минимум три момента: • Столбцы для извлечения • Таблицы из которых извлекаем информацию • Условия, если таковые имеются, которым данные должны удовлетворять Выборка информации из таблиц(ы) SELECT hotties FROM room WHERE lame != ‘yes’
  • 13. СЛОЖНЫЕ УСЛОВИЯ SELECT first_name, last_name FROM employees WHERE department = ‘shipping’ AND gender = ‘F’ AND hired >= ‘2000-JAN-01’ SELECT first_name, last_name FROM employees WHERE department = ‘shipping’ OR employee_id <= 610007 Можно комбинировать несколько условий для удовлетворения ваших «тайных желаний».
  • 14. UNION SELECT first_name, last_name FROM employees WHERE department = ‘shipping’ UNION SELECT first_name, last_name FROM employees WHERE hire_date BETWEEN ‘1-Jan-1990’ AND ‘1-Jan-2000’ Команда UNION позволяет объединить результаты любых двух или более запросов в одну выборку, которая будет включать все строки, которые принадлежат к запросу в этом объединении.
  • 15. EXCEPT И INTERSECT • Команда EXCEPT возвращает все значения которые есть в левом запросе, но которые отсутствуют в правом. • Команда INTERSECT возвращает все значения, которые возвращаются одновременно и левым и правым запросом.
  • 16. СВЯЗЫВАЕМ ТАБЛИЦЫ • INNER JOIN – взять общее из двух таблиц • OUTER JOIN – взять записи из одной или обеих таблиц, которые не имеют каких- либо соответствующих записей можно найти в другой таблице • CROSS JOIN – возвращает все записи из одной таблицы со всеми записями из другой таблицы. ВСЕГДА добавляйте условия. INNER JOIN OUTER JOINS CROSS JOINS
  • 17.
  • 19. INSERT • INSERT INTO *ТАБЛИЦА* (*ПОЛЯ*) • VALUES (*ЗНАЧЕНИЯ*) Добавление информации
  • 21. UPDATE • UPDATE *ТАБЛИЦА* SET *ПОЛЕ* = *ЗНАЧЕНИЕ* WHERE *УСЛОВИЯ* Обновление существующей информации
  • 23. DELETE • DELETE FROM *ТАБЛИЦА* [FROM *ТАБЛИЦЫ*] [WHERE *УСЛОВИЯ*] Удаление информации из таблиц DELETE FROM life WHERE music_interests IN (‘Justin Bieber’, ’Ані Лорак’)
  • 27.