Трюк дня. Объединить значения из нескольких строк таблицы в одну, группируя по определённому параметру.
Например, есть таблица:
id name value
1 A 4
1 B 8
2 C 9
В результате нужно получить следующее:
id column
1 A:4, B:8
2 C:9
В SQL Server 2017, Azure можно использовать функцию STRING_AGG:
STRING_AGG(
CONCAT(name,’:’,[value], ‘, ‘)
Например, есть таблица:
id name value
1 A 4
1 B 8
2 C 9
В результате нужно получить следующее:
id column
1 A:4, B:8
2 C:9
В SQL Server 2017, Azure можно использовать функцию STRING_AGG:
SELECT
id,STRING_AGG(
CONCAT(name,’:’,[value], ‘, ‘)
FROM table
GROUP BY id
#tips🐍🐬 Python и MySQL: Как соединить их?
Большинство приложений в той или иной форме взаимодействует с данными. Поэтому языки программирования (Python не исключение), предоставляют инструменты хранения источников данных и доступа к ним. MySQL — одна из самых популярных систем управления базами данных (СУБД). В прошлом году она заняла второе место после СУБД Oracle в рейтинге баз данных.
Разбираться
#python #mysql
Большинство приложений в той или иной форме взаимодействует с данными. Поэтому языки программирования (Python не исключение), предоставляют инструменты хранения источников данных и доступа к ним. MySQL — одна из самых популярных систем управления базами данных (СУБД). В прошлом году она заняла второе место после СУБД Oracle в рейтинге баз данных.
Разбираться
#python #mysql
Библиотека программиста
🐍🐬 Python и MySQL: практическое введение
Рассмотрим на практическом примере, как из кода Python делать SQL-запросы к MySQL-серверу: CREATE, SELECT, UPDATE, JOIN и т. д.
Что Такое MySQL: Объяснение MySQL Для Начинающих
1. Что такое MySQL?
2. Модель клиент-сервер
3. SQL
4. Как работает MySQL?
5. Почему MySQL так популярен?
6. ...
Разобраться вглубь
#mysql
1. Что такое MySQL?
2. Модель клиент-сервер
3. SQL
4. Как работает MySQL?
5. Почему MySQL так популярен?
6. ...
Разобраться вглубь
#mysql
Трюк дня. COALESCE() для перезаписи NULL
При помощи функции COALESCE() можно перезаписать NULL на другое значение:
#tips
При помощи функции COALESCE() можно перезаписать NULL на другое значение:
SELECT
id,
null_var,
COALESCE(null_var, 'missing') AS recode_null_var
FROM
current_table
ORDER BY id
Запрос вернёт значение ‘missing‘ для всех строк таблицы, где null_var IS NULL#tips
Есть три типа индексов, а именно:
1) Уникальный индекс (Unique Index): этот индекс не позволяет полю иметь повторяющиеся значения, если столбец индексируется уникально. Если первичный ключ определен, уникальный индекс может быть применен автоматически.
2) Кластеризованный индекс (Clustered Index): этот индекс меняет физический порядок таблицы и выполняет поиск на основе значений ключа. Каждая таблица может иметь только один кластеризованный индекс.
3) Некластеризованный индекс (Non-Clustered Index): не изменяет физический порядок таблицы и поддерживает логический порядок данных. Каждая таблица может иметь много некластеризованных индексов.
1) Уникальный индекс (Unique Index): этот индекс не позволяет полю иметь повторяющиеся значения, если столбец индексируется уникально. Если первичный ключ определен, уникальный индекс может быть применен автоматически.
2) Кластеризованный индекс (Clustered Index): этот индекс меняет физический порядок таблицы и выполняет поиск на основе значений ключа. Каждая таблица может иметь только один кластеризованный индекс.
3) Некластеризованный индекс (Non-Clustered Index): не изменяет физический порядок таблицы и поддерживает логический порядок данных. Каждая таблица может иметь много некластеризованных индексов.
Какой у вас опыт разработки/обучения на SQL?
Anonymous Poll
59%
Учусь 0-1 года
7%
Учусь 1+ года
5%
Работаю 0-1 года
11%
Работаю 1-3 года
13%
Работаю 3+ года
5%
Другой ответ
Self JOIN - это выражение используется для того, чтобы таблица объединилась сама с собой, словно это две разные таблицы. Чтобы такое реализовать, одна из таких «таблиц» временно переименовывается.
Например, следующий SQL-запрос объединяет клиентов из одного города:
SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;
Например, следующий SQL-запрос объединяет клиентов из одного города:
SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;
Друзья, мы бы хотели провести кодинг-марафон по SQL по аналогии с этим марафоном.
Напишите ваше мнение и кто будет участвовать поставьте плюс в комментариях. Также приветствуются пожелания по темам задач.
Если кто-то готов помочь в администрировании марафона и канала в целом, напишите также в комментариях.
Напишите ваше мнение и кто будет участвовать поставьте плюс в комментариях. Также приветствуются пожелания по темам задач.
Если кто-то готов помочь в администрировании марафона и канала в целом, напишите также в комментариях.
Трюк дня. Игнорирование одиночной кавычки в SQL Server.
Рассмотрим ситуацию, когда в таблицу требуется вставить текст, содержащий одиночную кавычку, например: It‘s Friday today.
Запрос
Решение #1: продублировать одиночную кавычку в тексте:
#tips
Рассмотрим ситуацию, когда в таблицу требуется вставить текст, содержащий одиночную кавычку, например: It‘s Friday today.
Запрос
INSERT INTO table VALUES (‘It’s Friday today.’) выдаст ошибку. Решение #1: продублировать одиночную кавычку в тексте:
INSERT INTO table VALUES (‘It’’s Friday today.’)
Решение #2: использовать char(39):INSERT INTO table VALUES (‘It’ + char (39) + ’s Friday today.’)
А какие еще решения данной задачи вы знаете?#tips
Tips & Tricks. SQL vs NoSQL в примерах
В этой статье мы рассмотрим примеры, демонстрирующие, как выполнять запросы к базам данных SQL и NoSQL.
#sql
Читать статью
В этой статье мы рассмотрим примеры, демонстрирующие, как выполнять запросы к базам данных SQL и NoSQL.
#sql
Читать статью
Telegraph
SQL vs NoSQL в примерах
Реляционные базы данных хранят данные в табличной форме с обозначенными строками и столбцами. Хотя реляционные базы данных обычно являются хорошим решением для хранения данных, скорость и масштабируемость в некоторых случаях могут быть проблемой. SQL (язык…
#вопрос7
Почему данный код выведет ошибку?
Почему данный код выведет ошибку?
SELECT id, name, CONCAT ('EU:', city) AS city_m
FROM customers
WHERE city_m = 'EU:Oslo';
#вопросы #собеседованиеОтвет на #вопрос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';
#вопросы #собеседование
Тест по SQL
Вы - разработчик и подумываете о специализации в сфере MS SQL серверов? Пройдите тест и проверьте, готовы ли вы вступить на этот путь!
Количество вопросов: 20.
После удачного прохождения теста с вами свяжется менеджер курсов от компании Otus.
Вы - разработчик и подумываете о специализации в сфере MS SQL серверов? Пройдите тест и проверьте, готовы ли вы вступить на этот путь!
Количество вопросов: 20.
После удачного прохождения теста с вами свяжется менеджер курсов от компании Otus.
Трюк дня. Найти максимальное значение из двух колонок таблицы
Например, есть таблица:
customer value_1 value_2
Alex 5 18
Sam 1 19
Sam 3 2
В результате нужно получить следующее:
customer max
Alex 18
Sam 19
Sam 3
В PostgreSQL, MySQL и Oracle можно воспользоваться функцией
Например, есть таблица:
customer value_1 value_2
Alex 5 18
Sam 1 19
Sam 3 2
В результате нужно получить следующее:
customer max
Alex 18
Sam 19
Sam 3
В PostgreSQL, MySQL и Oracle можно воспользоваться функцией
GREATEST:SELECT customer, GREATEST (value_1, value_2) FROM table;В SQL Server подобной функции нет, поэтому можно решить эту задачу так:
SELECT customer, MAX (x.combined_val) AS greatest#tips
FROM table AS u
CROSS APPLY (SELECT u.value_1 UNION ALL SELECT u.value_2) AS x(combined_val)
GROUP BY customer;
❤1