TGViewer
Channel Public Channel
SQL и Базы Данных

SQL и Базы Данных

@prosql

Задачи по базам данных и SQL

Основы языка SQL, задачи и решения к ним.

Админ: @anothertechrock
Subscribers
3.69K
Photos
154
Videos
5
Links
178

Showing posts older than #128 · Back to latest

Older Posts 20 shown
Post #127 2.42K
Какого строкового типа данных нет в SQL?
Post #126 3.11K
Теория баз данных для программиста

В этом видео автор говорит про теорию баз данных и нормализацию данных, разбирая только самое необходимое.

00:00 Введение
01:40 Делаем телефонный справочник
07:34 Оптимизируем повторяющиеся слова
09:56 Разделение строки на колонки
11:37 Вынос пола в отдельную колонку
16:10 О важности связей
19:14 Установка MySQL
20:36 Установка и запуск MySQL в Ubuntu
23:54 Работа с MySQL из VS Code

Смотреть это видео на youtube: youtu.be/BPr1ZBEJ4lc
YouTube Теория баз данных для программиста - только самое необходимое Больше обучающего контента на моём бусти https://www.flenov.info/plus/index Прежде чем записывать видео по языку запросов SQL и прежде чем уходить во что-то более сложное, я решил начать с самых основ, необходимых для того, чтобы нам проще было нырнуть в…
  • 👍 2
Post #122 3.68K
SQL для начинающих на примере PostgreSQL

В этом видео автор подробно и наглядно разбирает реляционные базы данных и язык для работы с ними — SQL — на примере популярной СУБД PostgreSQL. Вы изучите работу с базой данных для интернет-магазина, хранящую в себе товары, их фотографии, покупателей и их заказы.

00:00 Зачем знать SQL и базы данных
02:47 Виды баз данных
03:28 Понятие сущностей, проектирование больших систем
06:01 Сущности в реляционных базах данных
06:50 Проектирование схемы БД магазина на бумаге
10:27 Перенос схемы БД в PostgreSQL
17:40 SELECT (получение данных)
19:03 JOIN (объединение таблиц)
23:25 LEFT JOIN, RIGHT JOIN, INNER JOIN
26:57 Удаление, обновление данных
28:23 Пример комплексного запроса с несколькими JOIN
32:31 GROUP BY (группировка данных)
34:11 COALESCE
34:47 ORDER BY (сортировка данных)
35:13 HAVING
36:26 LIMIT, OFFSET
38:09 Итоги

Смотреть это видео на youtube: youtu.be/WpojDncIWOw
YouTube 🔥Разбираем SQL на примере PostgreSQL — SELECT, JOIN, GROUP, HAVING, Coalesce и др. Мой курс «Хардкорная веб-разработка» — https://course.to.digital Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: https://botanim.to.digital/ Telegram: https://t0digital.t.me Сказать спасибо за это видео можно здесь — https://boosty.to/digitalize.team…
  • 👍 2
Post #118 2.36K
ORDER BY 2 сработает только в том случае, когда в SELECT указаны по крайней мере две колонки.

В запросе выше, даже с учетом того, что таблица employee содержит 2 колонки, выбирается только 1 колонка. Поэтому такой запрос будет выдавать ошибку.

#вопросы #собеседование
Post #117 2.39K
Таблица employee имеет две колонки: emp_name и emp_id. Какой результат возвратит следующий SQL запрос:

SELECT emp_name FROM employee ORDER BY 2 DESC;

#вопросы #собеседование
Post #111 3.13K
Решение сегодняшней задачи на логику.

Ответ: 208

муравей = 12
шапка = 8
труба = 4
Итого: (12 + 8 + 4) * 8 + (12 + 4) = 208

#логика
Post #109 2.74K
Задача на логику.

Решение будет вечером.

#логика
Post #105 2.9K
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем. Решение.

SELECT
SUBSTRING_INDEX (SUBSTRING_INDEX (fullname, ' ', 1), ' ', -1) AS name,
IF (LENGTH (fullname) - LENGTH (REPLACE (fullname, ' ', '')) > 1,
SUBSTRING_INDEX(SUBSTRING_INDEX (fullname, ' ', 2), ' ', -1), NULL)
AS middlename,
SUBSTRING_INDEX (SUBSTRING_INDEX (fullname, ' ', 3), ' ', -1) AS surname
FROM customers;

#tips
Post #104 2.76K
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем

В столбце fullname таблицы customers содержится имя, отчество и фамилия в следующем формате: 'name middlename surname'.

Напишите MySQL-запрос, который извлечет name, middlename и surname в отдельные столбцы. Если middlename не существует, то в результате в middlename должен быть NULL.

Например, из 'Alena Igorevna Petrova' должны получиться 3 столбца:
• name = 'Alena',
• middlename = 'Igorevna',
• surname = 'Petrova'.

А из строки 'Jack Powers' получится следующее:
• name = 'Jack',
• middlename = NULL,
• surname = 'Powers'.

Решение будет вечером.

#tips
Post #102 3.45K
Практический курс по SQL для начинающих

В этом видеокурсе автор разбирает основы SQL: вы узнаете что такое SQL, научитесь писать SQL-запросы различной сложности. Все эти знания будут легко применимы не только к PostgreSQL, но и к другим СУБД: MySQL, Microsoft SQL Server, Oracle.

0:00:00 Основные концепции: БД, СУБД
0:17:22 Реляционная модель и SQL
0:30:54 Почему стоит выбрать PostgreSQL?
0:36:04 Установка PostgreSQL
0:42:38 Обзор типов данных в PostgreSQL
0:56:48 Как создать базу данных
1:04:22 Как создать таблицу
1:16:03 Отношение "один ко многим"
1:35:18 Отношение "один к одному"
1:44:45 Отношение "многие ко многим"
1:59:12 Создаём БД Northwind

Смотреть это видео на youtube: youtu.be/HVQNxdI6fqY
YouTube Практический курс по SQL для начинающих - #1 Введение в PostgreSQL Данный курс на YouTube - сильно укороченная (демо) версия полного курса, который вы можете приобрести на stepik (с карточкой из РФ) или Udemy (с карточкой не из РФ) Купить полный курс на stepik: https://www.engineerspock.com/buy-postgres-youtube-stepik …
Post #101 3.39K
Статья дня. Как работать с json в Postgresql?

json — самый популярный, на данный момент, формат сериализации данных, состоящий из пар ключ-значение. Является нативным для Javascript и поддерживается абсолютно всеми языками программирования.

PostgreSQL нативно поддерживает json с версии 9.2. И до этого у постгри был тип данных для пар ключ-значение, но не настолько гибкий и с куда менее полным функционалом. Сейчас это мощнейший и удобнейший инструмент.

#sql

Читать статью
Telegraph Как работать с json в Postgresql? PostgreSQL — одна из наиболее универсальных баз данных. Если нет каких-то специфических требований, то лучше использовать именно её. Какое-то время назад, на волнах хайпа, MongoDB стремительно вырывалась вперёд, но уже много лет и PostgreSQL отлично умеет…
Post #99 3.89K
Ответ на #вопрос9

Да, отработает. В SQL допускается перечисление не всех полей в разделе SELECT, если мы группируем по нескольким полям.

В данном примере группировка выполняется по двум полям, а выводится на экран одно поле. А вот наоборот сделать уже нельзя.

#вопросы #собеседование
Post #98 3.73K
#вопрос9

Отработает ли данный запрос или выдаст ошибку:

SELECT field1 FROM table GROUP BY field1, field2;

#вопросы #собеседование
Post #96 3.64K
Post #95 3.57K
Ответ на #вопрос8

Учитывая, что 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

#вопросы #собеседование
Post #94 3.35K
#вопрос8

Как оператор GROUP BY обрабатывает поля с NULL?

#вопросы #собеседование
Post #92 3.77K
Трюк дня. Найти максимальное значение из двух колонок таблицы

Например, есть таблица:

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
FROM table AS u
CROSS APPLY (SELECT u.value_1 UNION ALL SELECT u.value_2) AS x(combined_val)
GROUP BY customer;

#tips
  • ❤ 1
Post #91 7.47K
Post #89 7.33K
Ответ на #вопрос7

Код выдаст ошибку, так как в данном случае 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';

А какие еще варианты решения данной проблемы вы знаете?

#вопросы #собеседование
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →