10 best online sql courses to enroll in 2021

№ 2. Среднее значение и ранжирование с оконной функцией (несколько частей)

Часть 1

Контекст

  depname  | empno | salary |     
-----------+-------+--------+
 develop   |    11 |   5200 | 
 develop   |     7 |   4200 | 
 develop   |     9 |   4500 | 
 develop   |     8 |   6000 | 
 develop   |    10 |   5200 | 
 personnel |     5 |   3500 | 
 personnel |     2 |   3900 | 
 sales     |     3 |   4800 | 
 sales     |     1 |   5000 | 
 sales     |     4 |   4800 | 

Задача:

  depname  | empno | salary | avg_salary |     
-----------+-------+--------+------------+
 develop   |    11 |   5200 |       5020 |
 develop   |     7 |   4200 |       5020 | 
 develop   |     9 |   4500 |       5020 |
 develop   |     8 |   6000 |       5020 | 
 develop   |    10 |   5200 |       5020 | 
 personnel |     5 |   3500 |       3700 |
 personnel |     2 |   3900 |       3700 |
 sales     |     3 |   4800 |       4867 | 
 sales     |     1 |   5000 |       4867 | 
 sales     |     4 |   4800 |       4867 |

Решение:

Часть 2

Задача:

  depname  | empno | salary | salary_rank |     
-----------+-------+--------+-------------+
 develop   |    11 |   5200 |           2 |
 develop   |     7 |   4200 |           5 | 
 develop   |     9 |   4500 |           4 |
 develop   |     8 |   6000 |           1 | 
 develop   |    10 |   5200 |           2 | 
 personnel |     5 |   3500 |           2 |
 personnel |     2 |   3900 |           1 |
 sales     |     3 |   4800 |           2 | 
 sales     |     1 |   5000 |           1 | 
 sales     |     4 |   4800 |           2 | 

Решение:

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 Комментарии

DBeaver

DBeaver is a community in which several developers, SQL programmers, data analysts, and data administrators work as one community. It also provides users with a free multi-platform database tool.

DBeaver supports all common database types such as MySQL, Oracle, DB2, SQLite, Sybase, Derby, and many others.

The best part of DBeaver is that it supports ER charts to define relationships and compare database structure. In addition to this, you can also go to the data and metadata searches.

Advantages

  • It supports NoSQL and Big-Data database.
  • Select the desired database driver from a variety of options.
  • Create your own database drivers according to your needs.
  • It supports multiple data types and advanced security.
  • Extended data layouts and Visual Query Builder.

Prices

DBeaver basically offers three types of plans based on duration, both per month/year. The plan is exactly the same, but the difference is in the maturity date of the plan.

UPDATE несколько записей

Именно предложение WHERE определяет, сколько записей будет обновлено.

Следующая инструкция SQL обновит имя контакта до «Juan» для всех записей, где страна — «Mexico»:

Пример

UPDATE Customers
SET ContactName=’Juan’
WHERE Country=’Mexico’;

Выбор из таблицы «Customers» теперь будет выглядеть следующим образом:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Juan Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Juan Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

Как строится работа SQL-аналитика над проектом

Стоит отметить, что работа SQL-аналитика начинается задолго до начала непосредственного анализа и состоит из нескольких этапов:

1) Выявление потребностей заказчика и его «боли», формализация и согласование требований.

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

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

2) Изучение и исследование регламентов бизнес-процессов компаний, юридические согласования.

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

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

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

3) Непосредственно аналитика.

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

  1. При помощи автоматических алгоритмов, когда выявляются повторяющиеся цепочки событий.
  2. Полуавтоматически, когда вручную задаются начало и конец операции/процесса, а закономерности и связи ищет алгоритм.
  3. Вручную — для сложных и длинных процессов/операций, когда нужно «увязать» деятельность сотрудников из разных подразделений. Это тот случай, когда может потребоваться большое количество разных источников.

4) Подготовка итоговых презентаций для клиентов.

Четко и лаконично, исключительно на основе фактов и в доступной форме нужно рассказать о том, к чему пришли в результате анализа.

К чему должен быть готов специалист — описывать сложные вещи просто. Не все понимают специфические термины а-ля process mining, OLAP-кубы и другие. Полезную информацию нужно предоставлять в доступной форме и обязательно визуальным способом.

Задачка про кинотеатр

Вот дополнительная, более сложная задачка. Есть кинотеатр, в нем идут фильмы. У фильма есть название, длительность (пусть для простоты будет 60, 90 или 120 минут), цена билета (в разное время и дни может быть разная), время начала сеанса (один фильм может быть показан несколько раз в разное время за разную цену). Также, есть информация о купленных билетах (номер билета, на какой сеанс).

Задания:

составь грамотную нормализованную схему хранения этих данных в БД. Внеси в нее 4-5 фильмов, расписание на один день и несколько проданных билетов.

Сделай запросы, считающие и выводящие в понятном виде:

  • ошибки в расписании (фильмы накладываются друг на друга), отсортированные по возрастанию времени. Выводить надо колонки «фильм 1», «время начала», «длительность», «фильм 2», «время начала», «длительность».
  • перерывы больше или равные 30 минут между фильмами, выводятся по уменьшению длительности перерыва. Выводить надо колонки «фильм 1», «время начала», «длительность», «время начала второго фильма», «длительность перерыва».
  • список фильмов, для каждого указано общее число посетителей за все время, среднее число зрителей за сеанс и общая сумма сбора по каждому, отсортированные по убыванию прибыли. Внизу таблицы должна быть строчка «итого», содержащая данные по всем фильмам сразу.
  • число посетителей и кассовые сборы, сгруппированные по времени начала фильма: с 9 до 15, с 15 до 18, с 18 до 21, с 21 до 00:00. (то есть сколько посетителей пришло с 9 до 15 часов, сколько с 15 до 18 и т.д.).

SQL syntax used

User’s queries are executed by SQL server that brings some limitations to the
syntax of SQL statements. Now we use Microsoft SQL Server 2019 (15.0) on the rating stages,
and MariaDB-10.4 (compatible with MySQL 8), PostgreSQL 12.3, and Oracle Database 11g on the learn stage in addition. That is why You should follow
the syntax of these realizations when building queries. It should be noted that SQL syntax,
implemented in Microsoft SQL Server, is close to that of SQL-92 standard. But there are some
distinctions, among them is absence of NATURAL JOIN of tables. Supplied help on SQL Data Manipulation Language is held in accordance
with SQL-92 standard and contains information necessary for solving the exercises. In the same place it is possible to find features of used realization (SQL Server 2005).

Oracle Live SQL

Oracle Live SQL focuses more on testing and data exchange. Its disadvantage is that other databases are not supported until you use standard SQL. The tool provides you with a tutorial and complete documentation. It would be good to use the Oracle tool, as it also provides data examples for PHP and Java.

Advantages

  • Provides features such as advanced security, analytics, and compression.
  • It supports Active Data Guards and Database Vault.
  • In addition, it also provides real-time database testing.
  • It provides insight and generates reports using spatial and graphical data.
  • Label security and interactive analytics processing are also supported.

43 задачи по SQL

В таблице competition хранится информация о проводимых соревнованиях:

  • competition_id (ID соревнования);
  • competition_name (наименование соревнования);
  • world_record (мировой рекорд);
  • set_date (дата установки мирового рекорда);

В таблице result хранится информация  о результатах соревнований:

  • competition_id (ID соревнования);
  • sportsman_id (ID спортсмена);
  • result (результат спортсмена);
  • city (место проведения);
  • hold_date (дата проведения);

В таблице sportsman хранится информация о спортсменах:

  • sportsman_id (ID спортсмена);
  • sportsman_name (имя спортсмена);
  • rank (разряд спортсмена);
  • year_of_birth (год рождения);
  • personal_record (персональный рекорд);
  • country (страна спортсмена);

Who should go for this course?

  • Freshers/Graduates
  • End users
  • IT professionals
  • Business Professionals
  • Management professionals
  • Management graduates
  • Aspiring individuals
  • Job seekers

Overview of Database Concepts

  • Basic Database Concepts
  • Concepts of Data, Metadata, Files
  • Concepts of DBMS
  • Database Models
  • File Management Systems
  • Relational Database Systems
  • Procedural & Non procedural approaches
  • Database Design
  • E.F.Codd’s Rules
  • Normalization
  • First Normal Form
  • Second Normal Form
  • Third Normal Form
  • Introduction to SQL Server
  • Features of SQL Server
  • Different Editions of SQL Server
  • Components of SQL Server
  • Services of SQL Server
  • Comparison of SQL Server with Oracle
  • Database Design
  • Logical & Physical database design
  • Relational database design
  • Creating databases
  • Management Studio
  • Basics of SQL
  • Data types, expressions, operators
  • Working with Queries & Clauses
  • Creating Databases
  • Creating Tables, Stored Procedures
  • Working with Indexes & Views
  • Sub queries
  • Nested sub queries
  • Correlated sub queries
  • Derived tables
  • Implementation of Data integrity
  • Entity integrity
  • Domain integrity
  • Referential integrity
  • Types of constraints
  • Data Definition Language(DDL)
  • Creation of table
  • Modifying the structure of a table
  • Dropping a table
  • Working with different options
  • Data Manipulation Language(DML)
  • Inserting, updating & deleting operations
  • Operators, Built-in functions, Grouping
  • Working with multiple tables
  • Joins
  • Introduction to Joins
  • Inner join
  • Outer join
  • Cross joins
  • Unions
  • Working with Indexes
  • Introduction to indexes
  • Creating, dropping indexes
  • Complex indexes
  • Clustered & non clustered indexes
  • Implementing Views
  • Introduction & advantages of views
  • Creating views
  • Altering, dropping views
  • Data Control Language(DCL)
  • Creating Users and Roles
  • Granting & Revoking of Roles & Privileges
  • Transaction Control Language (TCL)
  • Introduction
  • Transactions process & types of transactions (Implicit, Explicit)
  • Working with Locks and Types of locks
  • Transact-SQL (T-SQL)
  • Introduction
  • Data types
  • Statements
  • Batch Execution
  • Working with Cursors
  • Creating Cursors
  • Cursors vs. Select
  • Types of cursors, locks on cursors
  • Advantages of cursors
  • Implementing stored procedures
  • Introduction to stored procedures
  • Creating, executing, modifying, dropping sp’s
  • Executing extended sp’s
  • Implementing User Defined Functions
  • Introduction
  • Creating, executing, altering, dropping UDF’s
  • Deterministic, non-deterministic functions
  • Scalar, multi-statement, built-in functions

Задание «Компьютерные курсы»

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

База данных включает три основных таблицы:

главная таблица Группы: список номеров учебных групп;
таблица Список: список учащихся и сведения по ним;
таблица Личные данные: сведения по учащимся и отметки по предметам.

Поля-счетчики (Auto increment AI):

  • таблица — поле ,
  • таблица — не имеет счетчика, т.к. поле — внешний ключ.

Установка первичных ключей

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

В таблице внешним ключом является поле (оно же является и внутренним ключом), которое связывает таблицу с таблицей по полю .

Установка связей

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

Использование дизайнера схемы данных:

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

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 Краткий справочник

Условия

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

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

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

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

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

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

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

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

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

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

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

Вот список понятий, которые стоит знать если ты хочешь очень хорошо разбираться в 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

Datapine SQL Editor

Datapine came out with a vision that allows managers and decision-makers to generate ideas and reports to effectively manage their business. In addition, KPI Datapine reports include a data visualization tool that allows you to create a view of the data so that each user can understand it.

In addition, these data and datapath in reports can be easily shared through report automation.

Advantages

  • Datapine is a SaaS BI Tool, which means that you can access it at any time from anywhere.
  • It helps you to create meaningful 3D charts, reports, and analyze data in real-time.
  • Easy to set up in just 10 minutes and you are ready to use it.
  • Automatic code generation and advanced SQL query.
  • The data warehouse option is also available.

Practical skills of SQL language

This site will help everyone to gain or improve skills in building
SQL Data Manipulation Language statements. To train You will have to build yourself
the SQL statements for retrieval or modification of specific data required in the exercises.
When Your query is incorrect, You will be able to see rows returned by the correct
query along with that returned by Your query. Furthermore, you may execute arbitrary
DML statements on available databases by setting the «Without checking» option. There are
five levels of difficulty (from 1 to 5), You may see it in second column of
exercises list. We propose the exercises on retrieving data (SELECT statement) and
the exercises on modifying data (INSERT, UPDATE, DELETE, and MERGE statements). Your success in the solving the exercises are shown by a rating of participants.
As this takes place, there are three stages:
the first one (first 5 exercises) is performed without time control for an individual
exercise, the second one (begins with the exercise #6) controls time for completion of each
task. At the third stage which refers to optimizing and begins with exercise #139, it is required not only to solve an exercise correctly, but also time of execution of inquiry should be commensurable with time of execution of the author’s solution.
Exercises of the first stage are available without registration and may be solved
in any order You like. The solution of the rest of exercises requires registration.
REGISTRATION IS FREE as this for all other services of the site. In the third column of exercises list You
will be able to see («OK») notes with the numbers of done exercises, but that
is available only to the registered users. In fact, that is the main reason for registration.
If You would like to visit our web site again, You won’t have to recollect which
exercises You have done already and which You haven’t. If You don’t want to register,
You may enter as a guest, but in that case Your results won’t
be traced by the system. Registered users also may discuss the solutions to exercises in our forum.

NOTE: The query stated incorrectly may return the «correct» data on a current state of database.
For this reason You should not be surprised if the results of incorrect query are
coincide with the results of right one with Your query is estimated as incorrect by the Verifying system.

NOTE: Your browser should support Cookies and Javascript to provide correct usage of this site. If you use content filter, it should allow opening child windows to explore help pages.

Описание

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. Задание и изменение структуры БД.

Microsoft SQL Server Management Studio Express

This tool comes with Management Studio Express, which is a free version of Microsoft. SSMSE (SQL Server Management Studio Express) was first launched with SQL 2005 to provide services such as data administration, management, and configuration.

Also note that this tool does not support services such as integration services, reporting services, analysis services, notifications, etc.

Advantages

  • The best part is that it is free and really very easy to use.
  • It provides a graphical management tool and script editors.
  • You can also export and import SQL Server Studio very easily.
  • This tool automatically saves XML files created by the server.

«Курс SQL и PostgreSQL» от BeOnMax

  • Стоимость: бесплатны первые уроки, далее подписка от 90 рублей в месяц
  • Длительность: 23 академических часа
  • Сертификат: да
  • Формат обучения: видеокурс

Описание курса

Курс рассматривает основы работы с SQL и наиболее востребованной системы управления базами данных PostgreSQL. При этом все полученные знания могут быть применены при работе с другими СУБД. Материал отлично подойдёт новичкам, а также практикующим разработчикам, желающим освоить язык запросов SQL.

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

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

Плюсы:

  • Большое количество представленного материала;
  • Наличие подробного плана курса;
  • Возможность бесплатного ознакомления с первыми уроками;
  • Предоставление сертификата.

Минусы:

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

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

Adblock
detector