SQLize
Online
/
PHPize Online
/
SQLtest Online
A
A
A
Share
Donate
Blog
Popular
Donate
A
A
A
Share
Blog
Popular
SQLize.online is a free online SQL environment for quickly running, experimenting with and sharing code.
You can run your SQL code on top of the most popular RDBMS including MySQL, MariaDB, SQLite, PostgreSQL, Oracle and Microsoft SQL Server.
SQL code:
Upload
Copy
Format
Clear
CREATE TABLE users ( user_id INT identity(1, 1) PRIMARY KEY --Идентификатор пользователя ,user_name NVARCHAR(100) NOT NULL --ФИО пользователя ) CREATE TABLE groups ( group_id INT PRIMARY KEY --Идентификатор группы ,group_name NVARCHAR(100) NOT NULL --Название группы ,members_count INT NOT NULL --Количество участников группы ) CREATE TABLE user_groups ( group_id INT ,user_id INT ) INSERT INTO users (user_name) VALUES (N'Алексеев А.А.') ,(N'Пискун А.А.') ,(N'Артамонов В.А.') ,(N'Лихачёв В.В.') ,(N'Тимашов А.А.') ,(N'Мурашов А.С.') ,(N'Краснов И.В.') ,(N'Писанкин А.В.') ,(N'Лебедев П.Е.') ,(N'Тихомиров Ф.А.') INSERT INTO groups ( group_id ,group_name ,members_count ) VALUES ( 1 ,N'Администраторы' ,1 ) ,( 2 ,N'Пользователи' ,3 ) ,( 3 ,N'Специалисты' ,4 ) ,( 4 ,N'Тестировщики' ,3 ) go /** Вопрос: Курсоры. Что такое? Зачем нужны? Задание: Что происходит в курсоре ниже? (5 минут) */ DECLARE S CURSOR LOCAL FORWARD_ONLY READ_ONLY FOR SELECT group_id ,members_count FROM groups DECLARE @iGroupId INT ,@iMembersCount INT OPEN S FETCH NEXT FROM s INTO @iGroupId ,@iMembersCount WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO user_groups ( user_id ,group_id ) SELECT TOP (@iMembersCount) u.user_id ,@iGroupId FROM users AS u ORDER BY NEWID() FETCH NEXT FROM s INTO @iGroupId ,@iMembersCount END CLOSE s DEALLOCATE S go /** ВОПРОС: КАК ОБЪЕДИНИТЬ ТАБЛИЦЫ ГОРИЗОНТАЛЬНО (JOIN, ЕГО ВИДЫ; APPLY, ЕГО ВИДЫ)? ЗАДАНИЕ: ДЛЯ КАЖДОЙ ГРУППЫ (GROUPS) ВЫВЕСТИ ВТОРОГО СОТРУДНИКА (СОРТИОРВКА В АЛФАВИТНОМ ПОРЯДКЕ) (10-12 МИНУТ) */ /*select * from groups g join user_groups ug on ug.group_id = g.group_id join users u on u.user_id = ug.user_id over (partition by )*/ go /** Вопрос: Как получить информацию об ошибке, чтобы ее обработать? Задание: Дополнить процедуру обработкой ошибки. (Получить код и текст ошибки) (5 минут) */ CREATE PROCEDURE processingErrors AS BEGIN DECLARE @nNumber NUMERIC(17, 2) = 10.00 ,@nResult NUMERIC(17, 2) BEGIN TRANSACTION begin try SET @nResult = @nNumber / 0 COMMIT end try begin catch select error_message() rollback transaction end catch END go EXEC processingErrors go /** Вопрос: Динамический SQL: расскажи про опыт использования */ /** Вопрос: Есть таблица из 20 полей. Производится синхронизация данных с внешним сервисом. Как определить, что данные изменились? */ /** Вопрос: Разбор XML. Метод nodes Изменение XML. Метод modify Сбор XML из других XML. Типизированный XML Использование схем для валидации XML Задание: 1. Представить данные хмл в виде таблицы (Разбор xml). (5 минут) 2. Заменить значение атрибута value = '9988776655 для ноды, у которой атрибут ext_id=tax_code (3 минуты) 3. Удалить из xml элемент с ext_id=client_type (3 минуты) */ DECLARE @xXml XML = '<dataset> <object ext_id="client_id" value="300000001" /> <object ext_id="branch_id" value="044525104" /> <object ext_id="tax_code" value="001122334455" /> <object ext_id="client_type" value="J" /> </dataset>', @hdoc int exec sp_xml_preparedocument @hdoc OUTPUT, @xXml select ext_id, [value] from OPENXML(@hdoc, '/dataset/object', 2) WITH ( ext_id varchar(15) '@ext_id', [value] varchar(20) '@value' ) go /** Оптимизация Вопрос: большой запрос или много мелких. Что быстрее? Как использовать план запроса? Вопрос: Многопоточная обработка таблиц: как сделать, чтобы потоки не обрабатывали одни и те же записи Git Что такое git? Для чего используется? Что такое ветка? Зачем нужны ветки? Как решать конфликты при слиянии? */
SQL
Server:
MySQL 5.7
MySQL 5.7 Sakila (ReadOnly)
MySQL 8.0
MySQL 8.0 Sakila (ReadOnly)
MariaDB 11.5
SQLite 3
SQLite 3 Preloaded
PostgreSQL 10 Bookings (ReadOnly)
PostgreSQL 11
PostgreSQL 12
PostgreSQL 13
PostgreSQL 14
PostgreSQL 15
MS SQL Server 2017
MS SQL Server 2019
MS SQL Server 2022
MS SQL Server 2022 AdventureWorks (ReadOnly)
Firebird 4.0
Firebird 4.0 (Employee)
Oracle Database 19c (HR)
Oracle Database 21c
Oracle Database 23c Free
SOQOL
Version
ER Diagram
Preserve result
Stuck with a problem?
Got Error?
Ask ChatGPT!
Result:
Copy
Clear