Какое значение вернёт следующий PostgreSQL запрос:
SELECT CEIL(53.2);
SELECT CEIL(53.2);
Anonymous Quiz
32%
53
19%
54
12%
53.0
14%
53.2
5%
Ничего из перечисленного
17%
Посмотреть ответы
👍15
Функция SUBSTRING_INDEX()
Функция SUBSTRING_INDEX() возвращает подстроку строки до того, как появится указанное число разделителей.
Синтаксис:
SUBSTRING_INDEX(string, delimiter, number).
Протестировать функцию можно здесь.
Функция SUBSTRING_INDEX() возвращает подстроку строки до того, как появится указанное число разделителей.
Синтаксис:
SUBSTRING_INDEX(string, delimiter, number).
Протестировать функцию можно здесь.
👍6
Какой результат вернет следующий PostgreSQL/MySQL запрос:
SELECT GREATEST (6.62, - 8, '82') ;
SELECT GREATEST (6.62, - 8, '82') ;
Anonymous Quiz
26%
6.62
3%
- 8
22%
82
27%
Ошибка
22%
Посмотреть ответы
👍6
#Вопросы_с_собеседования
❓При выборке из таблицы workers запишите год, месяц и день в отдельные поля с помощью EXTRACT
Ответ на картинке.
❓При выборке из таблицы workers запишите год, месяц и день в отдельные поля с помощью EXTRACT
Ответ на картинке.
👍8❤1
Какой код удалит последовательность с именем loc_seq?
Anonymous Quiz
20%
delete sequence loc-seq;
50%
drop sequence loc_seq;
10%
delete primary key loc_sec;
6%
drop primary key loc_sec;
14%
Узнать ответ
👍10
Что вы знаете о функции OVERLAY() в PostgreSQL?
Функция
OVERLAY
FROM int - позиция, с которой начнётся замена.
FOR int - количество заменяемых символов. Необязательно.
Например:
Функция
OVERLAY() заменяет часть строки на другую подстроку, начиная с заданной позиции:OVERLAY
(main_string PLACING replacing_string FROM int [FOR int]);
main_string - строка, которую изменяем. replacing_string - подстрока, которую вставляем в main_string. FROM int - позиция, с которой начнётся замена.
FOR int - количество заменяемых символов. Необязательно.
Например:
SELECT OVERLAY('who Pro' PLACING 'SQL' FROM 1);👍5
Как оператор GROUP BY обрабатывает поля с NULL?
Учитывая, что NULL в SQL — просто отсутствие значения, то все значения NULL при группировке попадают в одну группу. Например, пусть есть таблица:
name score
Alex 5
Sam 1
Sam 11
NULL 4
NULL 3
Тогда запрос
SELECT name, SUM (score) AS sc
FROM table
GROUP BY name;
выдаст:
name sc
Alex 5
Sam 12
NULL 7
Учитывая, что NULL в SQL — просто отсутствие значения, то все значения NULL при группировке попадают в одну группу. Например, пусть есть таблица:
name score
Alex 5
Sam 1
Sam 11
NULL 4
NULL 3
Тогда запрос
SELECT name, SUM (score) AS sc
FROM table
GROUP BY name;
выдаст:
name sc
Alex 5
Sam 12
NULL 7
👍21
Что покажет следующий запрос:
select seller_id, count(*) from Orders GROUP BY seller_id HAVING seller_id IN (2,4,6);
select seller_id, count(*) from Orders GROUP BY seller_id HAVING seller_id IN (2,4,6);
Anonymous Quiz
63%
Количество заказов, сгруппированное по продавцам 2, 4 и 6
16%
Количество продавцов, у которых 2, 4 или 6 товаров
16%
Ничего, запрос составлен неверно: для указания условия должно быть использовано WHERE
4%
Посмотреть ответ
👍12🔥1
Forwarded from SQL и БД Learning
#Вопросы_с_собеседования
❓При выборке из таблицы workers прибавьте к дате 3 дня и отнимите 2 часа
Ответ на картинке.
❓При выборке из таблицы workers прибавьте к дате 3 дня и отнимите 2 часа
Ответ на картинке.
👍7
SQL-инъекции для самых маленьких. Часть 3
В статье вы узнаете, как можно собирать информацию о БД путем применения инъекций и затронем тему слепых SQL-инъекций.
Смотреть статью
В статье вы узнаете, как можно собирать информацию о БД путем применения инъекций и затронем тему слепых SQL-инъекций.
Смотреть статью
👍4
#Вопросы_с_собеседования
❓При выборке из таблицы workers получите первые 5 символов поля denoscription
Ответ на картинке.
❓При выборке из таблицы workers получите первые 5 символов поля denoscription
Ответ на картинке.
👍9❤1
Какая разница между TRUNCATE TABLE table_name и DELETE FROM table_name?
Фактически обе эти команды вызовут удаление всех строк из таблицы под названием table_name, но вот произойдет это совсем по-разному:
1. При вызове команды TRUNCATE таблица полностью сбрасывается и создается снова, в то время как команда DELETE удаляет каждую строку таблицы по отдельности. Из-за этого TRUNCATE отрабатывает значительно быстрее.
2. Как следствие первого пункта, команда TRUNCATE не вызывает срабатывание триггеров и правил внешних ключей, то есть, очищая таблицу таким способом, можно не бояться каскадного удаления или изменения данных в других таблицах.
3. В отличие от DELETE команда TRUNCATE не транзакционная. То есть, если в момент ее вызова, таблица table_name будет заблокирована какой-либо транзакцией — может возникнуть ошибка.
Фактически обе эти команды вызовут удаление всех строк из таблицы под названием table_name, но вот произойдет это совсем по-разному:
1. При вызове команды TRUNCATE таблица полностью сбрасывается и создается снова, в то время как команда DELETE удаляет каждую строку таблицы по отдельности. Из-за этого TRUNCATE отрабатывает значительно быстрее.
2. Как следствие первого пункта, команда TRUNCATE не вызывает срабатывание триггеров и правил внешних ключей, то есть, очищая таблицу таким способом, можно не бояться каскадного удаления или изменения данных в других таблицах.
3. В отличие от DELETE команда TRUNCATE не транзакционная. То есть, если в момент ее вызова, таблица table_name будет заблокирована какой-либо транзакцией — может возникнуть ошибка.
👍8