Ответ на #вопрос7
Код выдаст ошибку, так как в данном случае alias нельзя использовать в операторе WHERE.
Порядок выполнения упомянутого SELECT запроса следующий:
1. FROM
2. WHERE
3. SELECT
Соответственно при выполнении команды WHERE, alias, задаваемый в SELECT еще неизвестен.
Для PostgreSQL или MySQL данную проблему можно решить, например, следующим образом:
#вопросы #собеседование
Код выдаст ошибку, так как в данном случае alias нельзя использовать в операторе WHERE.
Порядок выполнения упомянутого SELECT запроса следующий:
1. FROM
2. WHERE
3. SELECT
Соответственно при выполнении команды WHERE, alias, задаваемый в SELECT еще неизвестен.
Для PostgreSQL или MySQL данную проблему можно решить, например, следующим образом:
WITH ct AS (А какие еще варианты решения данной проблемы вы знаете?
SELECT id, name, CONCAT ('EU:', city) AS city_m
FROM customers
)
SELECT ct.*
FROM ct
WHERE ct.city_m = 'EU:Oslo';
#вопросы #собеседование
Tips & Tricks. SQL vs NoSQL в примерах
В этой статье мы рассмотрим примеры, демонстрирующие, как выполнять запросы к базам данных SQL и NoSQL.
#sql
Читать статью
В этой статье мы рассмотрим примеры, демонстрирующие, как выполнять запросы к базам данных SQL и NoSQL.
#sql
Читать статью
Решение сегодняшней задачи на логику.
Ответ: 0.
Кабель длиной 80 метров провисает на высоте 10 метров от земли. При этом высота столба 50 метров. Значит, если провести горизонтальную линию через точку провисания каната, верхняя часть столба будет равняться 40 метрам.
Если верхняя часть столба 40 метров и длина кабеля до середины — тоже 40 метров, то это не треугольник а прямая линия. И соответственно, расстояние между столбами будет равно 0.
А как бы вы решили эту задачу, если бы центр кабеля находился на расстоянии 20 метров от земли?
#логика
Ответ: 0.
Кабель длиной 80 метров провисает на высоте 10 метров от земли. При этом высота столба 50 метров. Значит, если провести горизонтальную линию через точку провисания каната, верхняя часть столба будет равняться 40 метрам.
Если верхняя часть столба 40 метров и длина кабеля до середины — тоже 40 метров, то это не треугольник а прямая линия. И соответственно, расстояние между столбами будет равно 0.
А как бы вы решили эту задачу, если бы центр кабеля находился на расстоянии 20 метров от земли?
#логика
Какой ранг будет у записи с id = 3 с картинки выше, если использовать следующую функцию:
RANK() OVER (ORDER BY firstname) ?
RANK() OVER (ORDER BY firstname) ?
Anonymous Quiz
25%
1
34%
2
15%
3
7%
Ничего из перечисленного
19%
Посмотреть ответы
Какой результат возвратит следующая функция в PostgreSQL:
TO_DATE ('2017:JUNE:11','YYYY:Month:DD')?
TO_DATE ('2017:JUNE:11','YYYY:Month:DD')?
Anonymous Quiz
28%
2017-JUNE-11
19%
2017-Jun-11
22%
2017-06-11
3%
NULL
14%
Ничего из перечисленного
14%
Посмотреть ответы
Ответ на #вопрос8
Типы данных CHAR и VARCHAR очень схожи между собой, но различаются по способам их хранения и извлечения.
В столбце типа CHAR длина поля постоянна и задается при создании таблицы. Эта длина может принимать любое значение между 1 и 255.
Величины типа CHAR при хранении дополняются справа пробелами до заданной длины. Эти концевые пробелы удаляются при извлечении хранимых величин.
Величины в столбцах VARCHAR представляют собой строки переменной длины. Так же как и для столбцов CHAR, можно задать столбец VARCHAR любой длины между 1 и 255.
Однако, в противоположность CHAR, при хранении величин типа VARCHAR используется только то количество символов, которое необходимо, плюс один байт для записи длины. Хранимые величины пробелами не дополняются, наоборот, концевые пробелы при хранении удаляются.
Различия можно увидеть на картинке выше.
#вопросы #собеседование
Типы данных CHAR и VARCHAR очень схожи между собой, но различаются по способам их хранения и извлечения.
В столбце типа CHAR длина поля постоянна и задается при создании таблицы. Эта длина может принимать любое значение между 1 и 255.
Величины типа CHAR при хранении дополняются справа пробелами до заданной длины. Эти концевые пробелы удаляются при извлечении хранимых величин.
Величины в столбцах VARCHAR представляют собой строки переменной длины. Так же как и для столбцов CHAR, можно задать столбец VARCHAR любой длины между 1 и 255.
Однако, в противоположность CHAR, при хранении величин типа VARCHAR используется только то количество символов, которое необходимо, плюс один байт для записи длины. Хранимые величины пробелами не дополняются, наоборот, концевые пробелы при хранении удаляются.
Различия можно увидеть на картинке выше.
#вопросы #собеседование
👍1
Tips & Tricks. Функции vs Хранимые процедуры в SQL Server
В этой статье мы рассмотрим разницу между функциями и хранимыми процедурами в SQL Server на простых примерах.
#sql
Читать статью
В этой статье мы рассмотрим разницу между функциями и хранимыми процедурами в SQL Server на простых примерах.
#sql
Читать статью
Трюк дня. Найти второе место по зарплате
Напишите SQL-запрос для получения из таблицы (
Например, для таблицы на картинке выше такой запрос должен вернуть
Решение будет вечером.
#tips
Напишите SQL-запрос для получения из таблицы (
employee) с зарплатами записи, содержащие вторую по размеру заработную плату.Например, для таблицы на картинке выше такой запрос должен вернуть
200. Если в таблице нет значения, меньшего, чем самая высокая зарплата — запрос должен вернуть null.Решение будет вечером.
#tips
Трюк дня. Найти второе место по зарплате. Решение.
Решение 1: использование
Здесь выбирается самое большое значение зарплаты, не равное максимальной зарплате, полученной по всей таблице. В результате мы и получаем то, что нужно — вторую по величине зарплату.
#tips
Решение 1: использование
IFNULL и OFFSET • IFNULL(expression, alt): эта функция возвращает аргумент expression в случае, если он не равен null. В противном случае возвращается аргумент alt. Мы используем эту функцию чтобы возвратить null, если в таблице не окажется искомого значения. • OFFSET: этот оператор используется с ORDER BY для того чтобы отбросить первые n строк. Используется для получения второго по величине значения. SELECT
IFNULL(
(SELECT DISTINCT salary
FROM employee
ORDER BY salary DESC
LIMIT 1
OFFSET 1
), null) AS sec_salary
FROM employee
LIMIT 1
Решение 2: использование MAXЗдесь выбирается самое большое значение зарплаты, не равное максимальной зарплате, полученной по всей таблице. В результате мы и получаем то, что нужно — вторую по величине зарплату.
SELECT
MAX(salary) AS sec_salary
FROM Employee
WHERE salary != (SELECT MAX(salary) FROM employee)#tips
👍1
Какой результат возвратит код для таблицы с картинки выше:
SELECT COUNT (city) FROM table;
SELECT COUNT (city) FROM table;
Anonymous Quiz
2%
1
1%
2
55%
3
30%
4
6%
Ничего из перечисленного
6%
Посмотреть ответы
Какой будет результат выполнения следующего PostgreSQL кода:
SELECT SPLIT_PART ('How~@~are~@~you?', '~@~', 2);
SELECT SPLIT_PART ('How~@~are~@~you?', '~@~', 2);
Anonymous Quiz
5%
How
28%
are
22%
you?
19%
Ничего из перечисленного
26%
Посмотреть ответы
#вопрос9
В чем разница между функциями
#вопросы #собеседование
В чем разница между функциями
NOW() и CURRENT_DATE() в PostgreSQL/MySQL? #вопросы #собеседование
Ответ на #вопрос9
Основное различие между
#вопросы #собеседование
NOW() возвращает время, когда начал исполняться оператор.Основное различие между
NOW() и CURRENT_DATE() заключается в том, что NOW() получает текущую дату и время в формате 'YYYY-MM-DD HH:MM:SS', а CURRENT_DATE() получает дату текущего дня 'YYYY-MM-DD'.#вопросы #собеседование
Tips & Tricks. 9 best practices написания SQL запросов
В этой статье мы рассмотрим best practices при написании SQL, позволяющие улучшить читабельность и производительность запросов.
#sql
Читать статью
В этой статье мы рассмотрим best practices при написании SQL, позволяющие улучшить читабельность и производительность запросов.
#sql
Читать статью