sql_tg | Unsorted

Telegram-канал sql_tg - SQL и БД Learning

11243

Изучаем SQL с нуля По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning

Subscribe to a channel

SQL и БД Learning

💻Как создать процедуру в PostgreSQL?

Итак, для создания процедуры в PostgreSQL используется язык PL/pgSQL, который является расширением языка SQL. Вот пример создания простой хранимой процедуры в PostgreSQL:

CREATE OR REPLACE FUNCTION 'имя_процедуры(параметры)' RETURNS 'тип_результата' AS $$
DECLARE
-- переменные_локальные тип_переменной
BEGIN
-- Тело процедуры
-- Может содержать SQL запросы, управляющие конструкции и другие операторы
END;
$$ LANGUAGE plpgsql;


Пример простой процедуры, которая выводит текстовое сообщение:
CREATE OR REPLACE FUNCTION hello_world()
RETURNS VOID AS $$
BEGIN
RAISE NOTICE 'Hello, World!';
END;
$$ LANGUAGE plpgsql;


После выполнения этого запроса, процедура hello_world будет создана в вашей базе данных. Чтобы вызвать эту процедуру, используйте следующий запрос:
SELECT hello_world();

Таким образом, вы можете создавать и вызывать процедуры в PostgreSQL с помощью PL/pgSQL.

Читать полностью…

SQL и БД Learning

📚 Здесь собраны все вопросы, которые могут спросить на собеседовании. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам. Просто выбери своё направление:

1. Frontend / JavaScript
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. С/C++
9. Golang
10. PHP
11. Kotlin
12. Swift

Читать полностью…

SQL и БД Learning

📚 Здесь собраны все вопросы, которые могут спросить на собеседовании. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам. Просто выбери своё направление:

1. Frontend / JavaScript
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. С/C++
9. Golang
10. PHP
11. Kotlin
12. Swift

Читать полностью…

SQL и БД Learning

🔥Тесты для подготовки к собеседованию🔥
Выбери своё направление:

1. Frontend
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. С/C++
9. Golang
10. PHP
11. Kotlin
12. Swift

Читать полностью…

SQL и БД Learning

Руководство по анализу данных с SQL

Смотреть статью

Читать полностью…

SQL и БД Learning

Интеграция PostgreSQL с другими СУБД через dblink

Смотреть статью

Читать полностью…

SQL и БД Learning

#вопросы_с_собеседований

Как распарсить строку в SQL?

Часто возникает необходимость распарсить строку в SQL запросе, чтобы получить отдельные элементы. Существует несколько способов это сделать.

1. Использование функции SUBSTRING

Для извлечения отдельных элементов из строки можно использовать функцию SUBSTRING.

2. Использование функции CHARINDEX

Для извлечения подстроки из строки можно использовать функцию CHARINDEX.

3. Использование функции PARSENAME

Для извлечения отдельных элементов из строки, разделенных определенным символом, можно использовать функцию PARSENAME.

Читать полностью…

SQL и БД Learning

SQLMesh - это фреймворк для преобразования данных, который позволяет командам, работающим с данными, использовать преимущества DevOps. Она позволяет ученым, аналитикам и инженерам эффективно выполнять и развертывать преобразования данных, написанные на SQL или Python.

SQLMesh обеспечивает точность и эффективность построения конвейеров данных с помощью пробвинутого решения DataOps для преобразования, тестирования и совместной работы.

Виртуальные среды данных позволяют команде разработчиков создавать динамические представления данных, гарантируя, что таблицы не будут создаваться более одного раза. Модульные тесты, аудиты и Data Diff обеспечивают проверку на протяжении всего рабочего процесса разработки, что позволяет легко работать с данными.

pip install sqlmesh

Github
Подробнее
Документация

Читать полностью…

SQL и БД Learning

Уроки по T-SQL

Предлагаем вашему просмотру подробные 7 уроков.

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

📘Видео урок

Читать полностью…

SQL и БД Learning

❓Зачем аналитику изучать Python и с чего начать?

Python — один из самых популярных языков программирования, который используется во многих сферах, в том числе для анализа данных. Ждем вас на открытом практическом уроке «Основы Python» от OTUS, где вы вместе с опытным экспертом:

- рассмотрите синтаксис Python;
- разберете его основы;
- узнаете про инструменты анализа данных, с которыми работают аналитики.

Встречаемся 20 июня в 20:00 мск в преддверии старта курса «Python для аналитики». Все участники вебинара получат специальную цену на обучение и консультацию от менеджеров OTUS!

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://otus.pw/mHQW/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

SQL и БД Learning

😎На Си можно всё!

👉Узнайте больше о возможностях языка на бесплатном вебинаре онлайн-курса «Программист С» — «Написание расширения PostgreSQL на языке С»: регистрация

На бесплатном вебинаре мы:
- познакомимся с возможностью написания функций на языке С для работы с данными
- создадим и подключим собственное расширение для СУБД PostgreSQL, написанное на языке С
- рассмотрим плюсы и минусы создания таких расширений

🤝Понравится вебинар — продолжите обучение на курсе по специальной цене и даже в рассрочку!

erid: LjN8K5RoZ

Читать полностью…

SQL и БД Learning

Руководство для начинающих по MySQL

MySQL — одна из наиболее используемых СУБД, т.к. она поддерживается почти всеми ОС и распространяется как свободное программное обеспечение. Поэтому, MySQL популярна среди разработчиков сайтов и веб-приложений.

Однако без хорошего гайда достаточно трудно разобраться в этапах создания баз данных. В этом руководстве подробно описывается, как установить MySQL, создать БД и таблицы, а также сделать первые запросы:

https://wiki.gentoo.org/wiki/MySQL/Startup_Guide/ru

Читать полностью…

SQL и БД Learning

📢 Как заменить null на 0 в SQL

Чтобы заменить значение NULL на 0 в SQL, можно использовать функцию COALESCE. Эта функция принимает несколько аргументов и возвращает первый не NULL аргумент.

Если все аргументы NULL, функция вернет NULL. Вот пример использования COALESCE для замены значений NULL на 0:

SELECT COALESCE(column_name, 0) FROM table_name;

В этом запросе column_name - имя столбца, значения которого нужно заменить, а table_name - имя таблицы, в которой находится столбец. Функция COALESCE заменит все значения NULL в столбце на 0. Если значение столбца не NULL, то функция вернет его без изменений.

Также можно использовать оператор IS NULL для проверки на NULL и замены его на 0. Вот пример:

SELECT CASE WHEN column_name IS NULL THEN 0 ELSE column_name END FROM table_name;

Этот запрос также заменит значения NULL на 0. Если значение столбца не NULL, то запрос вернет его без изменений.

Читать полностью…

SQL и БД Learning

⭐️ Хакатон ARCHI.Tech от ВТБ – уникальный шанс сделать проект в роли ИТ-архитектора. Приглашаем начинающих и опытных ИТ-специалистов – студентов и выпускников технических вузов, разработчиков, архитекторов, аналитиков.

🔹 Выбирайте задачу любого уровня — простую, среднюю или сложную
🔹 Собирайте архитектурные артефакты, спрятанные в заданиях, и зарабатывайте баллы
🔹 Презентуйте свои решения экспертам ВТБ
🔹 Не упустите возможность решить «разминочную» задачу и получить дополнительные баллы
🔹 Заработанные баллы, найденные артефакты и коэффициент сложности задачи помогут определить победителей
🔹 Три категории: «Архитектор стрима», «Архитектор системы» и «Архитектор данных»…
🔹… и три призовых места в каждой
🔹 Лучшие из лучших разделят призовой фонд в 1 200 000 рублей!

Начало предварительного этапа – 14 июня. Соревнование стартует 28 июня – у участников будет 24 часа на решение задачи.

👉 Продемонстрируй свои знания об архитектуре – участвуй в ARCHI.Tech от ВТБ: https://cnrlink.com/architechvtbsqldblearn

Реклама. БАНК ВТБ (ПАО). ИНН 7702070139. erid: LjN8KUW6W

Читать полностью…

SQL и БД Learning

🔵🗣Вырасти до хардового Middle+ аналитика.
Как? Добавьте к своим скилам навыки в проектировании архитектуры и интеграций веб-сервисов!

Рассмотрите — авторский курс про архитектуру и интеграции
с практикой.
—————
По результатам курса вы:
▫️научитесь выбирать стиль интеграции под вашу задачу;
▫️сможете проектировать с нуля и описывать интеграции в современных стилях (API: REST, SOAP, gRPC и др. + брокеры сообщений);
▫️поймете, как правильно собирать требования и моделировать в UML;
▫️подготовитесь к собеседованию, решив более 100 тестов;
▫️разработаете свой API на Python;
—————
🟢Вы получите большую базу фундаментальных знаний, доступ к урокам и обновлениям остается навсегда 💡

• Всю программу и отзывы смотрите в боте курса.
• Бонусный модуль про проектирование баз данных — нормализация, транзакции, основы DWH, индексы.
• Результат после прохождения курса: 15 рабочих проектов в портфолио.
• Доступ к чату учеников (общение, обмен опытом, помощь внутри сообщества)

🔹🔹 С чего начать?🔹🔹
С открытых бесплатных уроков по архитектуре и интеграциям в чат-боте курса. Переходите.
👇
@studyit_help_bot

Скидка на курс от канала —
1 000₽ по промокоду SQLAND до 30 июня.

Читать полностью…

SQL и БД Learning

Концепция ORM как двигатель прогресса — выдержит ли ее ваша СУБД?

Смотреть статью

Читать полностью…

SQL и БД Learning

Как модифицировать данные в нескольких таблицах и вернуть id затронутых записей в одном запросе?

WITH
updated AS (
UPDATE table1
SET x = 5, y = 6 WHERE z > 7
RETURNING id
),
inserted AS (
INSERT INTO table2 (x, y, z) VALUES (5, 7, 10)
RETURNING id
)
SELECT 'table1_updated' AS action, id
FROM updated
UNION ALL
SELECT 'table2_inserted' AS action, id
FROM inserted;

Читать полностью…

SQL и БД Learning

Экранирование двоичных данных в SQL

В современном веб-разработке базы данных используются повсеместно. При работе с БД часто возникает необходимость хранить двоичные данные, такие как изображения или видео. Однако, есть риск того, что двоичные данные могут содержать символы, которые могут быть восприняты как специальные символы в SQL, что может привести к непреднамеренной модификации данных.

Экранирование двоичных данных

Для экранирования двоичных данных в SQL мы можем использовать функцию mysqli_real_escape_string(). Эта функция автоматически экранирует специальные символы, такие как одинарные кавычки, двойные кавычки и обратные слеши. Чтобы использовать эту функцию, мы должны сначала установить соединение с базой данных, а затем вызвать функцию, передав ей двоичные данные в качестве аргумента.

Пример экранирования двоичных данных в PDO

«PDO – PHP Data Objects – это прослойка, которая предлагает универсальный способ работы с несколькими базами данных.»

В PDO можно экранировать двоичные данные с помощью метода quote(). Этот метод автоматически экранирует специальные символы и возвращает заключенную в кавычки строку. Для использования этого метода мы должны сначала установить соединение с базой данных, а затем вызвать метод quote(), передав ему двоичные данные в качестве аргумента.

Читать полностью…

SQL и БД Learning

Задача SQL

У вас в базе данных есть две таблицы: TABLE1 и TABLE2. Нужно ответить на один простой вопрос: отработает ли данный запрос или упадет с ошибкой? И объяснить, почему.

select id,sum(value) over(partition by i order by y), * from table1


Примечание: все поля существуют в таблице и соответствуют нужному типу данных.

Ответ

Да, отработает. Классический пример аналитической функции, внутри которой сначала выполняется группировка (partition by), потом выполняется сортировка (order by) и применяется агрегирующая функция. В данном случае все написано правильно. Этот вопрос проверяет у кандидата знание оконных функций.

Читать полностью…

SQL и БД Learning

⚠️ Приглашаем на открытый урок «SQL и реляционные СУБД» в рамках практического курса «PostgreSQL для администраторов баз данных и разработчиков» от OTUS

🔹 На встрече рассмотрим существующие концепции и принципы работы реляционных СУБД, их структуру и особенности PostgreSQL

🔹 Разберем основные команды для создания, изменения и удаления данных

В течении часа вы научитесь ориентироваться среди имеющихся СУБД и выбирать под свои задачи нужный инструмент

🦾  PostgreSQL — навык, открывающий двери в более интересные и перспективные проекты. Тестируйте занятие на бесплатном уроке и начните обучение уже 30 июля. 

👉 Регистрация и подробности
https://clck.ru/3BTQok

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

SQL и БД Learning

Вакансия Senior System Analyst DWH в команде Lamoda Tech
 
Создаем продукты, которые делают шопинг удобным и вдохновляющим. Результат — 17 млн. довольных пользователей ежемесячно и звание крупнейшей fashion & lifestyle платформы в России по версии Data Insight.
 
Ищем специалиста на проект развития хранилища данных и автоматизации отчетности.
 
О задачах: выявлять и оценивать бизнес-требования к новым витринам и отчетности; проводить системный анализ источников данных, проектировать модели данных для новых витрин; разрабатывать техническую документацию; разрабатывать новые юниверсы и отчеты (SAP Business Objects), создавать и изменять объекты в существующих. Стек технологий: Oracle, Vertica, Hadoop, SQL, PowerBI, SAP BO
 
Что еще интересного: гибрид; офис в Москве и коворкинг в СПб; организуем внутренние и внешние митапы; помогаем развивать личный бренд; шопинг на Lamoda со скидками до 40%
 
Подробнее о вакансии.

Читать полностью…

SQL и БД Learning

Всем привет! Хотите написать свой первый SQL-код в прямом эфире под руководством эксперта-практика?

Залетайте на бесплатный мастер-класс с Серафимом Фролкиным, инженером данных VK и экспертом программ школы аналитики Changellenge >> Education.

Серафим расскажет:
✔️ почему SQL — это отличный старт в мир больших данных;
✔️ как он экономит время на рабочих задачах;
✔️ почему знание SQL так ценят рекрутеры.

А еще вы разберете девять базовых функций SQL в прямом эфире и решите практический кейс. Справятся даже новички.

Всего полтора часа — и в резюме новый навык!

Дата: 25 июня
Время: 19:00 Мск
Длительность: 1,5 часа
Формат: онлайн
Стоимость: бесплатно
Карьерные бонусы: всем зарегистрировавшимся и участникам!

Регистрируйтесь и получайте бонусы >>

#реклама
ООО "ВЫСШАЯ ШКОЛА АНАЛИТИКИ И СТРАТЕГИИ"
ИНН 7716917009
2VtzqxdpxqV

Читать полностью…

SQL и БД Learning

erid: LjN8KG7LH

Цифры без бизнеса — это математика. Бизнес без цифр — это авантюра. Цифры в основе бизнеса — это анализ данных.

Аналитик данных собирает, анализирует, структурирует данные — и благодаря этому помогает бизнесу решать проблемы и принимать важные решения. Поэтому профессия входит в топ-5 на рынке.

Стать аналитиком данных с нуля можно всего за 5 месяцев в онлайн-школе KARPOV.COURSES

Преподаватели — практикующие специалисты, которые знают, какие навыки нужны для успешной карьеры, поэтому обучение включает в себя и теорию, и отработку знаний на практических задачах.

По итогу вы соберете готовое портфолио, а школа поможет с трудоустройством. Уже 89% студентов нашли работу благодаря карьерному сопровождению.

Присоединяйтесь к курсу со скидкой 5% по промокоду SQLIBD до 30.06.2024: https://clc.to/4_VL2w

Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627.

Читать полностью…

SQL и БД Learning

Приемы очистки данных в SQL

1. Выявление и удаление дублирующих записей

SELECT DISTINCT column1, column2, ...
FROM table_name;

В качестве альтернативы можно использовать GROUP BY, чтобы сгруппировать похожие записи вместе, а затем удалить количество записей в каждой группе.

SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name
HAVING COUNT(*) > 1;


2. Стандартизация текстовых полей

UPDATE table_name
SET column_name = UPPER(column_name);


Вы также можете использовать функцию REPLACE для замены определенных символов или строк в текстовых полях. Например:

UPDATE table_name
SET column_name = REPLACE(column_name, 'OldString', 'NewString');


3. Обработка отсутствующих или нулевых значений

SELECT column1, column2, ...
FROM table_name
WHERE column_name IS NULL;


Затем вы можете удалить эти записи или заменить отсутствующие значения значением по умолчанию. Например:

UPDATE table_name
SET column_name = 'DefaultValue'
WHERE column_name IS NULL;


4. Удаление кривых символов

UPDATE table_name
SET column_name = REPLACE(column_name, 'InvalidChar', '');

UPDATE table_name
SET column_name = REGEXP_REPLACE(column_name, '[^a-zA-Z0–9 ]', '');


5. Обработка выбросов

Чтобы определить и удалить выбросов, мы можем использовать функции AVG и STDDEV для расчета среднего и стандартного отклонения столбца.

SELECT AVG(column_name), STDDEV(column_name)
FROM table_name;


6. Корректировка форматов дат

Функция STR_TO_DATE может преобразовать строку в формат даты. Синтаксис функции следующий:

SELECT STR_TO_DATE(date_string, format_string)
FROM table_name;


7. Очистка текстовых данных


Функция REPLACE может заменить подстроку в строке. Функция TRIM позволяет удалить из строки ведущие и последующие пробелы. Синтаксис выглядит следующим образом:

SELECT UPPER(column_name)
FROM table_name;


SELECT REPLACE(column_name, 'old_string', 'new_string')
FROM table_name;
SELECT TRIM(column_name)
FROM table_name;


8. Проверка типов данных

Важно убедиться, что ваши данные имеют правильный тип данных. Для проверки и преобразования типов данных можно использовать функции CAST или CONVERT. Например:

SELECT CAST(column_name AS INT)
FROM table_name;

SELECT CONVERT(column_name, DATE)
FROM table_name;

Читать полностью…

SQL и БД Learning

💻PostgreSQL: исполнение запроса из Bash-скрипта

Для выполнения запроса в PostgreSQL от имени пользователя 'postgres' используйте команду:

sudo -u postgres psql -d dbname -c "SELECT * FROM table;"

Здесь dbname — это название вашей БД, table – имя таблицы.
Разумеется, используем права суперпользователя sudo для переключения пользователя на postgres, psql является инструментом командной строки PostgreSQL, а ключ -c нужен для выполнения конкретного запроса.

Для более аккуратного форматирования вывода можно использовать ключ -t, который выводит данные построчно, и -X для того, чтобы .psqlrc не обрабатывался командой psql.

Подобное выполнение SQL-запросов прямо из оболочки может быть особенно актуальным, если вы настраиваете какую-нибудь систему по ssh.
Пишите, кстати, если сталкивались с такими кейсами

Читать полностью…

SQL и БД Learning

🔎 Поиск последних изменений в таблице в Oracle Database с помощью запроса

SELECT ... FROM ... VERSIONS BETWEEN TIMESTAMP <start_dt> AND <end_dt>

Возвращаются изменения в диапазоне дат.

Читать полностью…

SQL и БД Learning

👱🏻‍♀️Как легко знакомиться с реально классными девушками?

Знакомиться на улицах сейчас — это как звонить другу на домашний телефон. В теории работает, но на практике уже неадекватно.

Какова вероятность, что достойная девушка для отношений попадется тебе в метро?

Вроде, достойные девушки и существуют, но как будто где-то в параллельной реальности с тобой, лишь изредка пересекаясь.

Лови простой лайфхак:

Ты боишься знакомства не потому, что не можешь сказать «привет». А потому, что понятия не имеешь что делать в следующие 5-10 минут и будешь просто щелкать еб@лом. А у тебя тут всего две простых задачи:

— Продемонстрировать свою ценность
— Выстроить нужный контекст общения


Заметь в ней что-то уникальное и свяжи это с историей из своей жизни. Например:

— Привет, я случайно увидел тебя и обратил внимание на твои очки. Тебе идут, я тоже раньше носил такие, чтобы казаться старше, когда только начинал преподавать…

Звучит сложно. Однако на канале Творчество Чувств опытный психолог раскладывает это по полочкам. Один из его недавних кейсов — программист из Гугла, который вышел из 5-летней депрессии и нашел ту самую.

💘 Прекрати застой на личном фронте: /channel/+gaMCJdAXvOpmNWYy

Читать полностью…

SQL и БД Learning

PostgreSQL + pgAdmin + mTLS + certificate-based authentication + docker-compose в одном флаконе

Читать статью

Читать полностью…

SQL и БД Learning

SQL-запросы, которые вы рано или поздно погуглите

Отвечу на вопросы, которые возникают у новичков в SQL, в частности в PostgreSQL и BigQuery. Мы не будем обсуждать совсем базовые SELECT, CREATE или DROP.

Для удобства восприятия будем использовать тестовые данные. Первая таблица players содержит данные о пользователях и дате установки мобильной игры:

|playerId|name |installationDate|game |os |
|--------|----------------|----------------|----------|----------|
|9e8a0174|Трофимова Алёна |2023-07-30 |basketball|iOS 16 |
|3e2e04ad|Семенова Алиса |2022-07-21 |consumer |iOS 13 |
|642eafb2|Абрамова Диана |2022-06-06 |curtain |iOS 15 |
|8c231f49|Ефимова Ульяна |2022-06-21 |conductor |Android 12|
|a085caf1|Захаров Михаил |2023-04-11 |appear |Android 11|
|c4deb869|Николаева Марта |2022-03-31 |possible |iOS 11 |


вторая, levels, — даты прохождения игроком с определенным ID того или иного уровня:

|playerId|level|completionDate|
|--------|-----|--------------|
|7b50274d|6 |2023-05-17 |
|b0c9a9da|20 |2022-02-19 |
|09b3d5b5|15 |2022-07-22 |
|52b3bfa9|11 |2022-02-18 |
|3e2e04ad|17 |2022-08-17 |
|642eafb2|17 |2022-04-14 |
|8c231f49|20 |2022-05-30 |
|a085caf1|20 |2023-02-24 |
|36545ec1|16 |2022-08-10 |
|44e9653f|3 |2023-06-02 |



Я буду верстать в BigQuery на таком же датасете, так что использую соответствующий диалект.


INNER JOIN
Это тип объединения по умолчанию, и он оставит наименьшее число строк. Слово INNER можно опустить:

SELECT
p.playerId,
installationDate,
game,
level,
completionDate
FROM `project.tutorials.players` AS p
JOIN `project.tutorials.levels` AS l ON p.playerId = l.playerId;



Посмотрим, что здесь происходит:

В строках 1-6 мы выбираем только необходимые столбцы;
7-8: командой AS задаем псевдонимы таблицам;
8: определяем логику объединения по совпадающим playerId. Это означает также, что мы сохраним данные только об первом попавшемся уровне.

Получим всего четыре строки:
|playerId|name |installationDate|game |level|completionDate|
|--------|--------------|----------------|---------|-----|--------------|
|3e2e04ad|Семенова Алиса|2022-07-21 |consumer |17 |2022-08-17 |
|642eafb2|Абрамова Диана|2022-06-06 |curtain |17 |2022-04-14 |
|8c231f49|Ефимова Ульяна|2022-06-21 |conductor|20 |2022-05-30 |
|a085caf1|Захаров Михаил|2023-04-11 |appear |20 |2023-02-24 |


OUTER JOIN
Этот тип объединения, напротив, куда «добрее» и в случае FULL-объединения сохранит записи обо всех игроках и всех пройденных уровнях:

SELECT
p.playerId,
installationDate,
game,
level,
completionDate
FROM `project.tutorials.players` AS p
FULL OUTER JOIN `project.tutorials.levels` AS l ON p.playerId = l.playerId;



У нас появятся записи, где playerId пуст, поскольку попросили мы идентификаторы только из первой таблицы:

Читать

Читать полностью…

SQL и БД Learning

Как устроена виртуальная машина SQLite

SQL – концептуально странный язык. Вы пишете ваше приложение на одном языке, скажем, на JavaScript, а затем направляете базе данных команды, написанные на совершенно другом языке – SQL.

После этого база данных компилирует и оптимизирует эту команду на SQL, выполняет её и возвращает вам данные. Такой метод кажется ужасно неэффективным, но, всё-таки, ваше приложение может проделывать сотни таких операций в секунду. Просто безумие!

Смотреть статью

Читать полностью…
Subscribe to a channel