Изучаем SQL с нуля По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning № 4974313625
#Вопросы_с_собеседования
❓Для чего нужны оконные функции?
Ответ:
Оконные функции нужны в случаях, когда вы хотите сохранить значения своей исходной таблицы и параллельно отобразить сгруппированную или суммарную информацию.
Они похожи на агрегатные функции, но не сокращают количество строк в результате, а объединяют и группируют их в несколько результатов.
Функция SPACE()
Функция SPACE() возвращает строку с заданным количеством пробелов.
В нашем примере функция возвращает строку с 10 пробелами.
Функция LEFT()
Функция LEFT() извлекает ряд символов из строки (начиная слева).
Синтаксис:
LEFT(string, number_of_chars).
#Вопросы_с_собеседования
Для чего нужен оператор UNION?
Он используется для объединения полученных данных из двух или более запросов, которые должны иметь одинаковое количество столбцов с одинаковыми типами данных и расположенных в том же порядке.
Пять факторов, которые влияют на выбор базы данных
При выборе баз данных для текущего проекта (или при замене тех, которые не отвечают вашим текущим потребностям) количество возможных вариантов очень велико, это и хорошо, и плохо, ведь нужны какие-то критерии фильтрации.
Смотреть статью
Как эффективно анализировать статистику в PostgreSQL с помощью pg_profile
pg_profile — это расширение для Postgres (PL/pgSQL), которое собирает статистику запросов к базе данных и делает их снимки.
Смотреть статью
#Вопросы_с_собеседования
❓Очистите все таблицы базы данных test1
Ответ на картинке.
#Вопросы_с_собеседования
Что такое внешний ключ?
Внешний ключ или FOREIGN KEY также является атрибутом ограничения и обеспечивает связь двух таблиц. По сути, это поле или несколько полей, которые ссылаются на PRIMARY KEY в родительской таблице.
В нашем случае внешний ключ, привязанный к полю user_id в таблице order, ссылается на первичный ключ id в таблице users, и именно по этим полям происходит связывание двух таблиц.
Функция EXTRACT()
Функция EXTRACT() извлекает часть из заданной даты.
В нашем примере функция извлекает месяц из даты.
Синтаксис:EXTRACT(part FROM date)
.
DROP INDEX
Оператор DROP INDEX используется для удаления индекса в таблице.
#Вопросы_с_собеседования
❓Выберите из таблицы workers все записи за первую декаду любого месяца 2016 года
Ответ на картинке.
Генерация случайных чисел в MySQL
Для генерации случайных чисел или сортировки строк в случайном порядке можно использовать стандартную функцию NEWID().
#Вопросы_с_собеседования
❓При выборке из таблицы workers отнимите от даты 1 день
Ответ на картинке.
Жарим TOAST в PostgreSQL
В этой статье мы разберем, как PostgreSQL хранит большие (длинные) значения колонок, рассмотрим некоторые связанные с этим особенности и проблемы
Смотреть статью
#Вопросы_с_собеседования
❓Что делает оператор EXISTS?
Ответ:
EXISTS берет подзапрос, как аргумент, и оценивает его как TRUE, если подзапрос возвращает какие-либо записи и FALSE, если нет.
10 потенциальных SQL ошибок, которые делают программисты
Смотреть статью
Распределенный SQL: альтернатива шардированию баз данных
Шардирование баз данных – это процесс разделения данных на меньшие части, называемые «шарды». Эта техника обычно используется, когда возникает потребность в масштабировании записей. В течение жизненного цикла успешного приложения способность сервера его базы обрабатывать операции записи рано или поздно достигает своего предела.
Смотреть статью
SQLite, MySQL и PostgreSQL: сравниваем популярные реляционные СУБД
Реляционные базы данных используются уже очень давно. Они стали популярными благодаря успешным реализациям реляционных моделей в системах управления, оказавшимся весьма удобными для работы с данными. В этой статье мы сравним три самые популярные реляционные системы управления базами данных (РСУБД): SQLite, MySQL и PostgreSQL.
Смотреть статью
#Вопросы_с_собеседования
❓При выборке из таблицы workers прибавьте к дате 1 день, 2 часа, 3 минуты, 5 секунд
Ответ на картинке.
#Вопросы_с_собеседования
Как найти дубли в поле email?
Функция COUNT() возвращает количество строк из поля email. Оператор HAVING работает почти так же, как и WHERE, вот только применяется не для всех столбцов, а для набора, созданного оператором GROUP BY.
Разворачиваем MySQL: установка и настройка
MySQL на сегодняшний день является одной из наиболее распространенных в мире. Достаточно сказать, что по рейтингам 2021 года данная СУБД лишь немного уступала Oracle.
Смотреть статью
🐬 ТОП-10 самых часто используемых запросов MySQL
Из этой статьи вы узнаете о 10 наиболее часто используемых запросах в MySQL, которыми пользуются новички и эксперты в области управления базами данных.
Смотреть статью
#Вопросы_с_собеседования
Замените в таблице зарплату работника на 1000, если она равна 900, и на 1500 в остальных случаях.
Оператор UPDATE используется для изменения существующих записей. Но ответы на подобные вопросы с собеседований по SQL должны быть более развёрнутыми. Уточните,что после UPDATE следует указать, какие записи должны быть обновлены. В противном случае обновятся все записи в таблице.
В нашем примере условие задаётся через оператор CASE: если текущая зарплата равна 900, изменяем её на 1000, в остальных случаях — на 1500.
Функция QUARTER()
Функция QUARTER() возвращает квартал года для заданного значения даты (число от 1 до 4).
• Январе-Март возвращается 1
• Апрель-Июнь возвращается 2
• Июль-Сентябрь возвращается 3
• Октябрь-Декабрь возвращается 4.
Синтаксис:
QUARTER(date).
Прибавляем время
Функция TIMESTAMPADD(unit, value, datetime) прибавляет к дате и времени суток datetime временной интервал value.
В нашем примере мы прибавляем к нашей дате 3 часа.
Простой цикл While
В следующем примере в случае, если средняя цена продуктов из списка меньше чем $300, цикл WHILE удваивает цены, а затем выбирает максимальную. В том случае, если максимальная цена меньше или равна $500, цикл WHILE повторяется и снова удваивает цены.
Этот цикл продолжает удваивать цены до тех пор, пока максимальная цена не будет больше, чем $500, после чего выполнение цикла WHILE прекращается.
Функция SEC_TO_TIME()
Функция SEC_TO_TIME() возвращает значение времени (в формате HH:MM:SS), основанное на указанных секундах.
Синтаксис:
SEC_TO_TIME(seconds).