Ответ на #вопрос64
Если в запросе не используется GROUP BY, то условия WHERE и HAVING эквивалентны.
Но при использовании GROUP BY:
Условие HAVING используется для фильтрации значений из группы (т. е. для проверки условий после выполнения агрегации в группы).
Условие WHERE используется для фильтрации записей из результата до срабатывания какой-либо группировки.
#вопросы #собеседование
Если в запросе не используется GROUP BY, то условия WHERE и HAVING эквивалентны.
Но при использовании GROUP BY:
Условие HAVING используется для фильтрации значений из группы (т. е. для проверки условий после выполнения агрегации в группы).
Условие WHERE используется для фильтрации записей из результата до срабатывания какой-либо группировки.
#вопросы #собеседование
⚠️ 3 из 5 компаний уже перешли с Oracle и MS SQL на PostgreSQL.
PostgreSQL хорошо выполняет сложные запросы и позволяет создавать высокодоступные отказоустойчивые и параллельные кластера под "тяжелые" задач
🦾 PostgreSQL — навык, открывающий двери в более интересные и перспективные проекты.
Разберем основы разработки элементов серверной логики. SQL и Pl/Pgsql
➡️ https://otus.pw/cSVK/
❇️ Хранимые процедуры и функции в PostgreSQL — дополнительные возможности, 18 июля в 20:00
Рассмотрим использование ненативных языков для написания хранимых процедур и функций в PostgreSQL на примере С и Python
➡️ https://otus.pw/AABn/
PostgreSQL хорошо выполняет сложные запросы и позволяет создавать высокодоступные отказоустойчивые и параллельные кластера под "тяжелые" задач
🦾 PostgreSQL — навык, открывающий двери в более интересные и перспективные проекты.
Протестируйте обучение на открытых уроках:❇️ Хранимые процедуры и функции в PostgreSQL, 4 июля в 20:00
Разберем основы разработки элементов серверной логики. SQL и Pl/Pgsql
➡️ https://otus.pw/cSVK/
❇️ Хранимые процедуры и функции в PostgreSQL — дополнительные возможности, 18 июля в 20:00
Рассмотрим использование ненативных языков для написания хранимых процедур и функций в PostgreSQL на примере С и Python
➡️ https://otus.pw/AABn/
Нативная интеграция. Информация о продукте www.otus.ru👍2👎2
Задача на мышление и логику.
Напишите десятизначное число так, чтобы: первая цифра означала количество единиц в нем, вторая цифра означала количество двоек, третья цифра означала количество троек, и так далее до десятой цифры, которая означает количество нулей.
Решение будет вечером.
#логика
Напишите десятизначное число так, чтобы: первая цифра означала количество единиц в нем, вторая цифра означала количество двоек, третья цифра означала количество троек, и так далее до десятой цифры, которая означает количество нулей.
Решение будет вечером.
#логика
👍2
Трюк дня. Как объединить 2 таблицы, чтобы условие по второй было не обязательное?
Таблица Attr:
Напишите такой запрос, чтобы поля из таблицы Users выводились в любом случае, а поля из Attr только если есть запись с attr_code = 8(если таковой нет - на месте этих полей будет просто пустота).
Решение будет вечером.
#tips
Таблица Attr:
code user_code attr_code attr_valueТаблица Users:
1 24 8 1
2 24 4 1
3 24 3 1
4 24 2 1
code nameЗапрос:
24 Bolodya
select * from Users join Attr on Users.code = Attr.user_codeвыдаст искомую строку, только если в таблице Attr есть запись с attr_code = 8 и user_code = 24.
where Users.code = 24 and Attr.attr_code = 8;
Напишите такой запрос, чтобы поля из таблицы Users выводились в любом случае, а поля из Attr только если есть запись с attr_code = 8(если таковой нет - на месте этих полей будет просто пустота).
Решение будет вечером.
#tips
👍3
Трюк дня. Как объединить 2 таблицы, чтобы условие по второй было не обязательное?
Можно использовать left join и в условие объединения таблиц добавить Attr.attr_code = 8.
Можно использовать left join и в условие объединения таблиц добавить Attr.attr_code = 8.
select * from Users#tips
LEFT join Attr on Users.code = Attr.user_code and Attr.attr_code = 8
where Users.code = 24;
👍3
Как вставить "Ramana" в качестве значения LastName в таблице Persons?
Anonymous Quiz
5%
INSERT INTO Persons ('Ramana') INTO LastName
77%
INSERT INTO Persons (LastName) VALUES ('Ramana')
6%
INSERT ('Ramana') INTO Persons (LastName)
8%
Ни один вариант не подходит
5%
Посмотреть ответ
👍1
#вопрос65
Что выведет приведенный запрос, если в таблице Employee 10 записей?
Решение будет вечером.
#вопросы #собеседование
Что выведет приведенный запрос, если в таблице Employee 10 записей?
BEGIN TRAN
TRUNCATE TABLE Employees
ROLLBACK
SELECT * FROM EmployeesРешение будет вечером.
#вопросы #собеседование
👎9😁1
Ответ на #вопрос65
#вопросы #собеседование
Этот запрос вернет 10 записей, т. к. TRUNCATE выполняется в транзакции.#вопросы #собеседование
💩5
❓Хотите перейти на новый уровень в C# разработке?
👉 Приглашаем 12 июля в 20:00 мск вас на открытый урок в OTUS.
Тема: Примитивы многопоточности .Net
На уроке разберем такие примитивы многопоточности, как
— Барьеры;
— Условные события (ManualResetEvent/AutoResetEvent);
— Потоко-безопасные очереди (блокируемые и неблокируемые)
Дополнительно обсудим:
— Как писать код без Thread.Sleep
— Где еще можно использовать многопоточность
— Чем отличается многопоточный код от асинхронного.
📌 Вебинар пройдет в рамках онлайн-курса «C# Developer. Professional» и позволит вам углубить свои знания о платформе .NET и научиться решать сложные задачи языка C#.
Не упустите шанс протестировать курс и стать еще более компетентным C# разработчиком. Больше полезных тем ждет вас на курсе, доступном в рассрочку.
👉 Для участия во встрече пройдите вступительный тест https://otus.pw/VX4p/
Нативная интеграция информация о продукте www.otus.ru
👉 Приглашаем 12 июля в 20:00 мск вас на открытый урок в OTUS.
Тема: Примитивы многопоточности .Net
На уроке разберем такие примитивы многопоточности, как
— Барьеры;
— Условные события (ManualResetEvent/AutoResetEvent);
— Потоко-безопасные очереди (блокируемые и неблокируемые)
Дополнительно обсудим:
— Как писать код без Thread.Sleep
— Где еще можно использовать многопоточность
— Чем отличается многопоточный код от асинхронного.
📌 Вебинар пройдет в рамках онлайн-курса «C# Developer. Professional» и позволит вам углубить свои знания о платформе .NET и научиться решать сложные задачи языка C#.
Не упустите шанс протестировать курс и стать еще более компетентным C# разработчиком. Больше полезных тем ждет вас на курсе, доступном в рассрочку.
👉 Для участия во встрече пройдите вступительный тест https://otus.pw/VX4p/
Нативная интеграция информация о продукте www.otus.ru
Можно ли упростить приведенный запрос с UNION? Если да, то как?
SELECT id, prod_id, price FROM goods WHERE price <= 5 UNION SELECT id, prod_id, price FROM goods WHERE id IN (100,104)
SELECT id, prod_id, price FROM goods WHERE price <= 5 UNION SELECT id, prod_id, price FROM goods WHERE id IN (100,104)
Anonymous Quiz
22%
SELECT id, prod_id, price FROM goods WHERE price = 5 AND id IN (100,104)
4%
SELECT id, prod_id, price FROM goods WHERE price = 5 !AND id IN (100,104)
36%
SELECT id, prod_id, price FROM goods WHERE price = 5 OR id IN (100,104)
5%
Упростить нельзя
26%
Нет верного варианта ответа
8%
Посмотреть ответ
💩17👎10👍1
Как в SQL выбрать все записи из таблицы "Persons", где значение столбца "FirstName" равно "Peter"?
Anonymous Quiz
2%
SELECT [all] FROM Persons WHERE FirstName='Peter'
4%
SELECT [all] FROM Persons WHERE FirstName LIKE 'Peter'
1%
SELECT * FROM Persons WHERE FirstName<>'Peter'
92%
SELECT * FROM Persons WHERE FirstName='Peter'
1%
Посмотреть ответ
🤡16👍2🥰1
#вопрос66
Можно ли явным образом задать значение поля AUTO_INCREMENT?
Решение будет вечером.
#вопросы #собеседование
Можно ли явным образом задать значение поля AUTO_INCREMENT?
Решение будет вечером.
#вопросы #собеседование
Ответ на #вопрос66
Да, можно. Например, так:
Да, можно. Например, так:
SET IDENTITY_INSERT TABLE1 ON#вопросы #собеседование
INSERT INTO TABLE1 (ID,NAME)
SELECT ID,NAME FROM TEMPTB1
SET IDENTITY_INSERT OFF
Задача на мышление и логику.
Коля и Петя, встретившись на улице, увидели написанное мелом на асфальте двузначное число. Петя прибавил к нему 4 и затем поделил на 7, а Коля поделил его на 9 и затем отнял 1. Результаты совпали. Какое число было написано?
Решение будет вечером.
#логика
Коля и Петя, встретившись на улице, увидели написанное мелом на асфальте двузначное число. Петя прибавил к нему 4 и затем поделил на 7, а Коля поделил его на 9 и затем отнял 1. Результаты совпали. Какое число было написано?
Решение будет вечером.
#логика
👍1
Трюк дня. Как заменить NULL на значение предыдущего значения?
Делается следующий запрос:
#tips
Делается следующий запрос:
SELECT *,Допустим, запрос возвращает:
CASE WHEN Sum_ IS NOT NULL THEN Sum_
ELSE COALESCE(Sum_, 0)
END AS first_Non_Null
FROM dbo.VIEW_1;
GO
Index_data | Sum_Желаемый результат:
_____________________
20.10.2015 | 8
21.10.2015 | 2
22.10.2015 | NULL
23.10.2015 | 5
24.10.2015 | NULL
25.10.2015 | NULL
26.10.2015 | 6
Index_data | Sum_Решение будет вечером.
_____________________
20.10.2015 | 8
21.10.2015 | 2
22.10.2015 | 2
23.10.2015 | 5
24.10.2015 | 5
25.10.2015 | 5
26.10.2015 | 6
#tips