Разное

Запросы на sql: SQL запросы быстро. Часть 1 / Хабр

05.07.2023

Содержание

SQL запросы быстро. Часть 1 / Хабр

Введение

Язык SQL очень прочно влился в жизнь бизнес-аналитиков и требования к кандидатам благодаря простоте, удобству и распространенности. Из собственного опыта могу сказать, что наиболее часто SQL используется для формирования выгрузок, витрин (с последующим построением отчетов на основе этих витрин) и администрирования баз данных. И поскольку повседневная работа аналитика неизбежно связана с выгрузками данных и витринами, навык написания SQL запросов может стать фактором, из-за которого кандидат или получит преимущество, или будет отсеян. Печальная новость в том, что не каждый может рассчитывать получить его на студенческой скамье. Хорошая новость в том, что в изучении SQL нет ничего сложного, это быстро, а синтаксис запросов прост и понятен. Особенно это касается тех, кому уже доводилось сталкиваться с более сложными языками.

Обучение SQL запросам я разделил на три части. Эта часть посвящена базовому синтаксису, который используется в 80-90% случаев.

Следующие две части будут посвящены подзапросам, Join’ам и специальным операторам. Цель гайдов: быстро и на практике отработать синтаксис SQL, чтобы добавить его к арсеналу навыков.

Практика

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

Кликнуть здесь

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

Структура sql-запросов

Общая структура запроса выглядит следующим образом:

SELECT ('столбцы или * для выбора всех столбцов; обязательно')
FROM ('таблица; обязательно')
WHERE ('условие/фильтрация, например, city = 'Moscow'; необязательно')
GROUP BY ('столбец, по которому хотим сгруппировать данные; необязательно')
HAVING ('условие/фильтрация на уровне сгруппированных данных; необязательно')
ORDER BY ('столбец, по которому хотим отсортировать вывод; необязательно')

Разберем структуру.

Для удобства текущий изучаемый элемент в запроса выделяется CAPS’ом.

SELECT, FROM

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

Выбрать все (обозначается как *) из таблицы Customers:

SELECT * FROM Customers

Выбрать столбцы CustomerID, CustomerName из таблицы Customers:

SELECT CustomerID, CustomerName FROM Customers
WHERE

WHERE — необязательный элемент запроса, который используется, когда нужно отфильтровать данные по нужному условию. Очень часто внутри элемента where используются IN / NOT IN для фильтрации столбца по нескольким значениям, AND / OR для фильтрации таблицы по нескольким столбцам.

Фильтрация по одному условию и одному значению:

select * from Customers
WHERE City = 'London'

Фильтрация по одному условию и нескольким значениям с применением IN (включение) или NOT IN (исключение):

select * from Customers
where City IN ('London', 'Berlin')
select * from Customers
where City NOT IN ('Madrid', 'Berlin','Bern')

Фильтрация по нескольким условиям с применением AND (выполняются все условия) или OR (выполняется хотя бы одно условие) и нескольким значениям:

select * from Customers
where Country = 'Germany' AND City not in ('Berlin', 'Aachen') AND CustomerID > 15
select * from Customers
where City in ('London', 'Berlin') OR CustomerID > 4

GROUP BY

GROUP BY — необязательный элемент запроса, с помощью которого можно задать агрегацию по нужному столбцу (например, если нужно узнать какое количество клиентов живет в каждом из городов).

При использовании GROUP BY обязательно:

  1. перечень столбцов, по которым делается разрез, был одинаковым внутри SELECT и внутри GROUP BY,
  2. агрегатные функции (SUM, AVG, COUNT, MAX, MIN) должны быть также указаны внутри SELECT с указанием столбца, к которому такая функция применяется.

Группировка количества клиентов по городу:

select City, count(CustomerID) from Customers
GROUP BY City

Группировка количества клиентов по стране и городу:

select Country, City, count(CustomerID) from Customers
GROUP BY Country, City

Группировка продаж по ID товара с разными агрегатными функциями: количество заказов с данным товаром и количество проданных штук товара:

select ProductID, COUNT(OrderID), SUM(Quantity) from OrderDetails
GROUP BY ProductID

Группировка продаж с фильтрацией исходной таблицы. В данном случае на выходе будет таблица с количеством клиентов по городам Германии:

select City, count(CustomerID) from Customers
WHERE Country = 'Germany'
GROUP BY City

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

select City, count(CustomerID) AS Number_of_clients from Customers
group by City

HAVING

HAVING — необязательный элемент запроса, который отвечает за фильтрацию на уровне сгруппированных данных (по сути, WHERE, но только на уровень выше).

Фильтрация агрегированной таблицы с количеством клиентов по городам, в данном случае оставляем в выгрузке только те города, в которых не менее 5 клиентов:

select City, count(CustomerID) from Customers
group by City
HAVING count(CustomerID) >= 5 

В случае с переименованным столбцом внутри HAVING можно указать как и саму агрегирующую конструкцию count(CustomerID), так и новое название столбца number_of_clients:

select City, count(CustomerID) as number_of_clients from Customers
group by City
HAVING number_of_clients >= 5

Пример запроса, содержащего WHERE и HAVING. В данном запросе сначала фильтруется исходная таблица по пользователям, рассчитывается количество клиентов по городам и остаются только те города, где количество клиентов не менее 5:

select City, count(CustomerID) as number_of_clients from Customers
WHERE CustomerName not in ('Around the Horn','Drachenblut Delikatessend')
group by City
HAVING number_of_clients >= 5

ORDER BY

ORDER BY — необязательный элемент запроса, который отвечает за сортировку таблицы.

Простой пример сортировки по одному столбцу. В данном запросе осуществляется сортировка по городу, который указал клиент:

select * from Customers
ORDER BY City

Осуществлять сортировку можно и по нескольким столбцам, в этом случае сортировка происходит по порядку указанных столбцов:

select * from Customers
ORDER BY Country, City

По умолчанию сортировка происходит по возрастанию для чисел и в алфавитном порядке для текстовых значений.

Если нужна обратная сортировка, то в конструкции ORDER BY после названия столбца надо добавить DESC:

select * from Customers
order by CustomerID DESC

Обратная сортировка по одному столбцу и сортировка по умолчанию по второму:

select * from Customers
order by Country DESC, City

JOIN

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

Запрос, в котором соединяем таблицы Order и Customer по ключу CustomerID, при этом перед названиям столбца ключа добавляется название таблицы через точку:

select * from Orders
JOIN Customers ON Orders.CustomerID = Customers.CustomerID

Нередко может возникать ситуация, когда надо промэппить одну таблицу значениями из другой. В зависимости от задачи, могут использоваться разные типы присоединений. INNER JOIN — пересечение, RIGHT/LEFT JOIN для мэппинга одной таблицы знаениями из другой,

select * from Orders
join Customers on Orders.CustomerID = Customers.CustomerID
where Customers.CustomerID >10

Внутри всего запроса JOIN встраивается после элемента from до элемента where, пример запроса:

Другие типы JOIN’ов можно увидеть на замечательной картинке ниже:


В следующей части подробнее поговорим о типах JOIN’ов и вложенных запросах.

При возникновении вопросов/пожеланий, всегда прошу обращаться!

Access SQL. Основные понятия, лексика и синтаксис

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

Понимание принципов работы SQL помогает создавать более точные запросы и упрощает исправление запросов, которые возвращают неправильные результаты.

Это статья из цикла статей о языке SQL для Access. В ней описаны основы использования SQL для выборки данных и приведены примеры синтаксиса SQL.

В этой статье

  • Что такое SQL?

  • Основные предложения SQL: SELECT, FROM и WHERE

  • Сортировка результатов: предложение ORDER BY

  • Работа со сводными данными: предложения GROUP BY и HAVING

  • Объединение результатов запроса: оператор UNION

Что такое SQL?

SQL — это язык программирования, предназначенный для работы с наборами фактов и отношениями между ними. В программах управления реляционными базами данных, таких как Microsoft Office Access, язык SQL используется для работы с данными. В отличие от многих языков программирования, SQL удобочитаем и понятен даже новичкам. Как и многие языки программирования, SQL является международным стандартом, признанным такими комитетами по стандартизации, как ISO и ANSI.

На языке SQL описываются наборы данных, помогающие получать ответы на вопросы. При использовании SQL необходимо применять правильный синтаксис. Синтаксис — это набор правил, позволяющих правильно сочетать элементы языка. Синтаксис SQL основан на синтаксисе английского языка и имеет много общих элементов с синтаксисом языка Visual Basic для приложений (VBA).

Например, простая инструкция SQL, извлекающая список фамилий контактов с именем Mary, может выглядеть следующим образом:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

Примечание: Язык SQL используется не только для выполнения операций над данными, но еще и для создания и изменения структуры объектов базы данных, например таблиц. Та часть SQL, которая используется для создания и изменения объектов базы данных, называется языком описания данных DDL. Язык DDL не рассматривается в этой статье. Дополнительные сведения см. в статье Создание и изменение таблиц или индексов с помощью запроса определения данных.

Инструкции SELECT

Чтобы описать набор данных с помощью SQL, нужно написать заявление SELECT. Инструкция SELECT содержит полное описание набора данных, которые вы хотите получить из базы данных. К ним относятся файлы со следующими элементами:

  • таблицы, в которых содержатся данные;

  • связи между данными из разных источников;

  • org/ListItem»>

    поля или вычисления, на основе которых отбираются данные;

  • условия отбора, которым должны соответствовать данные, включаемые в результат запроса;

  • необходимость и способ сортировки.

Предложения SQL

Инструкция SQL состоит из нескольких частей, называемых предложениями. Каждое предложение в инструкции SQL имеет свое назначение. Некоторые предложения являются обязательными. В приведенной ниже таблице указаны предложения SQL, используемые чаще всего.

Предложение SQL

Описание

Обязательное

SELECT

Определяет поля, которые содержат нужные данные.

Да

FROM

Определяет таблицы, которые содержат поля, указанные в предложении SELECT.

Да

WHERE

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

Нет

ORDER BY

Определяет порядок сортировки результатов.

Нет

GROUP BY

В инструкции SQL, которая содержит статистические функции, определяет поля, для которых в предложении SELECT не вычисляется сводное значение.

Только при наличии таких полей

HAVING

В инструкции SQL, которая содержит статистические функции, определяет условия, применяемые к полям, для которых в предложении SELECT вычисляется сводное значение.

Нет

Термины SQL

Каждое предложение SQL состоит из терминов, которые можно сравнить с частями речи. В приведенной ниже таблице указаны типы терминов SQL.

Термин SQL

Сопоставимая часть речи

Определение

Пример

идентификатор

существительное

Имя, используемое для идентификации объекта базы данных, например имя поля.

Клиенты.[НомерТелефона]

оператор

глагол или наречие

Ключевое слово, которое представляет действие или изменяет его.

AS

константа

существительное

Значение, которое не изменяется, например число или NULL.

42

выражение

прилагательное

Сочетание идентификаторов, операторов, констант и функций, предназначенное для вычисления одного значения.

>= Товары.[Цена]

К началу страницы

Основные предложения SQL: SELECT, FROM и WHERE

Общий формат инструкций SQL:

SELECT field_1
FROM table_1
WHERE criterion_1
;

Примечания: 

  • Access не учитывает разрывы строк в инструкции SQL. Несмотря на это, каждое предложение рекомендуется начинать с новой строки, чтобы инструкцию SQL было удобно читать как тому, кто ее написал, так и всем остальным.

  • org/ListItem»>

    Каждая инструкция SELECT заканчивается точкой с запятой (;). Точка с запятой может стоять как в конце последнего предложения, так и на отдельной строке в конце инструкции SQL.

Пример в Access

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

1. Предложение SELECT

2. Предложение FROM

3. Предложение WHERE

Эту инструкцию SQL следует читать так: «Выбрать данные из полей «Адрес электронной почты» и «Компания» таблицы «Контакты», а именно те записи, в которых поле «Город» имеет значение «Ростов».

Разберем пример по предложениям, чтобы понять, как работает синтаксис SQL.

Предложение SELECT

SELECT [E-mail Address], Company

Это предложение SELECT. Оно содержит оператор (SELECT), за которым следуют два идентификатора («[Адрес электронной почты]» и «Компания»).

Если идентификатор содержит пробелы или специальные знаки (например, «Адрес электронной почты»), он должен быть заключен в прямоугольные скобки.

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

В инструкции SELECT предложение SELECT всегда стоит перед предложением FROM.

Предложение FROM

FROM Contacts

Это предложение FROM. Оно содержит оператор (FROM), за которым следует идентификатор (Контакты).

В предложении FROM не указываются поля для выборки.

Предложение WHERE

WHERE City=»Seattle»

Это предложение WHERE. Оно содержит оператор (WHERE), за которым следует выражение (Город=»Ростов»).

Примечание: В отличие от предложений SELECT и FROM, предложение WHERE является необязательным элементом инструкции SELECT.

С помощью предложений SELECT, FROM и WHERE можно выполнять множество действий. Дополнительные сведения об использовании этих предложений см. в следующих статьях:

  • Access SQL. Предложение SELECT

  • Access SQL. Предложение FROM

  • Access SQL. Предложение WHERE

К началу страницы

Сортировка результатов: ORDER BY

Как и в Microsoft Excel, в Access можно сортировать результаты запроса в таблице. Используя предложение ORDER BY, вы также можете указать способ сортировки результатов при выполнении запроса. Если используется предложение ORDER BY, оно должно находиться в конце инструкции SQL.

Предложение ORDER BY содержит список полей, для которых нужно выполнить сортировку, в том же порядке, в котором будут применена сортировка.

Предположим, например, что результаты сначала нужно отсортировать по полю «Компания» в порядке убывания, а затем, если присутствуют записи с одинаковым значением поля «Компания», — отсортировать их по полю «Адрес электронной почты» в порядке возрастания. Предложение ORDER BY будет выглядеть следующим образом:

ORDER BY Company DESC, [E-mail Address]

Примечание: По умолчанию Access сортирует значения по возрастанию (от А до Я, от наименьшего к наибольшему). Чтобы вместо этого выполнить сортировку значений по убыванию, необходимо указать ключевое слово DESC.

Дополнительные сведения о предложении ORDER BY см. в статье Предложение ORDER BY.

К началу страницы

Работа со сводными данными: предложения GROUP BY и HAVING

Иногда возникает необходимость работы со сводными данными, такими как итоговые продажи за месяц или самые дорогие товары на складе. Для этого в предложении SELECT к полю применяется агрегатная функция. Например, если в результате выполнения запроса нужно получить количество адресов электронной почты каждой компании, предложение SELECT может выглядеть следующим образом:

SELECT COUNT([E-mail Address]), Company

Возможность использования той или иной агрегатной функции зависит от типа данных в поле и нужного выражения. Дополнительные сведения о доступных агрегатных функциях см. в статье Статистические функции SQL.

Задание полей, которые не используются в агрегатной функции: предложение GROUP BY

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

Предложение GROUP BY должно следовать сразу же за предложением WHERE или FROM, если предложение WHERE отсутствует. В предложении GROUP BY поля указываются в том же порядке, что и в предложении SELECT.

Продолжим предыдущий пример. Пусть в предложении SELECT агрегатная функция применяется только к полю [Адрес электронной почты], тогда предложение GROUP BY будет выглядеть следующим образом:

GROUP BY Company

Дополнительные сведения о предложении GROUP BY см. в статье Предложение GROUP BY.

Ограничение агрегированных значений с помощью условий группировки: предложение HAVING

Если необходимо указать условия для ограничения результатов, но поле, к которому их требуется применить, используется в агрегированной функции, предложение WHERE использовать нельзя. Вместо него следует использовать предложение HAVING. Предложение HAVING работает так же, как и WHERE, но используется для агрегированных данных.

Предположим, например, что к первому полю в предложении SELECT применяется функция AVG (которая вычисляет среднее значение):

SELECT COUNT([E-mail Address]), Company

Если вы хотите ограничить результаты запроса на основе значения функции COUNT, к этому полю нельзя применить условие отбора в предложении WHERE. Вместо него условие следует поместить в предложение HAVING. Например, если нужно, чтобы запрос возвращал строки только в том случае, если у компании есть несколько адресов электронной почты, можно использовать следующее предложение HAVING:

HAVING COUNT([E-mail Address])>1

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

Дополнительные сведения о предложении HAVING см. в статье Предложение HAVING.

К началу страницы

Объединение результатов запроса: оператор UNION

Оператор UNION используется для одновременного просмотра всех данных, возвращаемых несколькими сходными запросами на выборку, в виде объединенного набора.

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

Примечание: В запросах на объединение числовой и текстовый типы данных являются совместимыми.

Используя оператор UNION, можно указать, должны ли в результаты запроса включаться повторяющиеся строки, если таковые имеются. Для этого следует использовать ключевое слово ALL.

Запрос на объединение двух инструкций SELECT имеет следующий базовый синтаксис:

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

Предположим, например, что имеется две таблицы, которые называются «Товары» и «Услуги». Обе таблицы содержат поля с названием товара или услуги, ценой и сведениями о гарантии, а также поле, в котором указывается эксклюзивность предлагаемого товара или услуги. Несмотря на то, что в таблицах «Продукты» и «Услуги» предусмотрены разные типы гарантий, основная информация одна и та же (предоставляется ли на отдельные продукты или услуги гарантия качества). Для объединения четырех полей из двух таблиц можно использовать следующий запрос на объединение:

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

Дополнительные сведения об объединении инструкций SELECT с помощью оператора UNION см. в статье Просмотр объединенных результатов нескольких запросов с помощью запроса на объединение.

К началу страницы

Kinetica использует ChatGPT для запросов к базе данных SQL на естественном языке

Запросы на естественном языке к базе данных направляются через API ChatGPT для создания синтаксиса SQL-запроса, который можно запускать для получения результатов, сообщает Kinetica.

старший писатель, Информационный мир |

4x-изображение / Getty Images

Kinetica, поставщик реляционных баз данных для онлайн-аналитической обработки (OLAP) и аналитики в реальном времени, использует возможности OpenAI ChatGPT, чтобы позволить разработчикам использовать обработку естественного языка для выполнения SQL-запросов.

Kinetica, которая предлагает свою базу данных в нескольких вариантах, включая размещенную, SaaS и локальную, объявила во вторник, что она предложит бесплатную интеграцию ChatGPT в своей бесплатной версии для разработчиков, добавив, что версию для разработчиков можно установить на любой ноутбук. или ПК.

Интерфейс ChatGPT, встроенный во внешний интерфейс Kinetica Workbench, может ответить на любой запрос на естественном языке о закрытых наборах данных в базе данных, заявила компания.

«Что ChatGPT предлагает, так это то, что он превратит естественный язык в язык структурированных запросов (SQL). Таким образом, пользователь может ввести любой запрос, и он может отправить вызов API из ChatGPT. А взамен вы получаете синтаксис SQL, который можно использовать для получения результатов», — сказал Филип Дарринджер, вице-президент по управлению продуктами Kinetica.

«Кроме того, он может понять цель запроса. Это означает, что пользователю не нужно знать точные имена столбцов для выполнения запроса. Механизм генеративного ИИ делает выводы из запроса и сопоставляет его с правильным столбцом. Это большой шаг вперед», — сказал Дарринджер.

Чтобы сделать выводы из запросов на естественном языке так ясно, менеджеры по продуктам Kinetica включили в ChatGPT некоторые подсказки и контекст, основанные на их знании уже развернутых баз данных.

«Мы отправляем определенные определения таблиц и метаданные о данных в механизм генеративного ИИ», — сказал Дарринджер, добавив, что никакие корпоративные данные не передаются ChatGPT.

База данных, по данным компании, также может отвечать на актуальные аналитические запросы в режиме реального времени, поскольку она постоянно принимает потоковые данные.

Kinetica утверждает, что векторизация повышает скорость обработки запросов реляционной базой данных.

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

В Kinetica векторизация стала возможной благодаря комбинированному использованию графических процессоров (GPU) и CPU, заявила компания, добавив, что база данных использует SQL-92 в качестве языка запросов, как PostgreSQL и MySQL, и поддерживает текст поиск, анализ временных рядов, аналитика местоположения и аналитика графиков — теперь ко всему этому можно получить доступ с помощью естественного языка.

Kinetica утверждает, что интеграция ChatGPT упростит использование базы данных, повысит производительность и улучшит понимание данных.

«Администраторы баз данных, специалисты по обработке данных и другие специалисты-практики будут использовать эту методологию для ускорения, улучшения и расширения интерфейса командной строки и работы API, которую они выполняют программно, — сказал Брэдли Шиммин, главный аналитик Omdia Research.

По словам Шиммина, Kinetica — одна из первых компаний, занимающихся базами данных, которая интегрировала функции ChatGPT или генеративного искусственного интеллекта в базу данных.

«Однако в самих базах данных прилагалось меньше усилий для интеграции запросов на естественном языке (NLQ), поскольку эти платформы используются администраторами баз данных, разработчиками и другими практиками, которые привыкли работать с SQL, Spark, Python и другими языков», — сказал Шиммин, отметив, что поставщики на рынке бизнес-аналитики (BI) добились большего прогресса в интеграции NLQ.

По словам Шиммина, использование Kinetica ChatGPT для запросов на естественном языке, строго говоря, не является реальным запросом к базе данных.

«Кинетика говорит не об использовании естественного языка для запросов к базе данных. Скорее, Kinetica работает так же, как работают Pinecone, Chroma и другие векторные базы данных, создавая доступный для поиска индекс (векторизованное представление) корпоративных данных, которые можно передать в модели естественного языка, такие как ChatGPT, чтобы создать естественный способ поиска векторизованных данных. Это очень гладко», — сказал Шиммин.

«Одной из очень популярных реализаций диалогового запроса такого типа является комбинация Chroma, LangChain и ChatGPT», — добавил Шиммин. LangChain — это среда разработки программного обеспечения.

Несмотря на возможность конкуренции, Kinetica выигрывает от интеграции естественного языка, сказал Шим.

«Векторные базы данных станут горячим билетом в конце 2023 года, когда специалисты-практики предприятий начнут искать способы заставить большие языковые модели (LLM) работать за брандмауэром, не тратя кучу денег на обучение своих собственных LLM или тонкую настройку. существующий LLM, использующий данные компании», — сказал Шиммин.

Kinetica заявила, что открыта для сотрудничества с другими поставщиками LLM по мере появления новых вариантов использования.

«Мы думаем, что со временем появятся и другие варианты использования, в которых нам будет иметь смысл точно настраивать модели или даже работать с другими моделями», — сказал Чад Мели, директор по маркетингу Kinetica.

Компания, которая получает более половины своего дохода от оборонных агентств США, таких как NORAD, имеет клиентов в области подключенных автомобилей, а также клиентов в сфере логистики, финансовых услуг, телекоммуникаций и развлечений.

Связанный:

  • Реляционные базы данных
  • Искусственный интеллект

Copyright © 2023 IDG Communications, Inc.

Как выбрать платформу разработки с низким кодом

Learn SQL Tutorial — javatpoint

следующий →

Учебное пособие по SQL

содержит базовые и расширенные концепции SQL. Наш учебник по SQL предназначен как для начинающих, так и для профессионалов.

SQL (язык структурированных запросов) используется для выполнения операций с записями, хранящимися в базе данных, таких как обновление записей, вставка записей, удаление записей, создание и изменение таблиц базы данных, представлений и т. д.

SQL — это не система баз данных, а язык запросов.

Предположим, вы хотите выполнять запросы языка SQL к сохраненным данным в базе данных. В ваших системах требуется установить любую систему управления базами данных, например, Oracle, MySQL, MongoDB, PostgreSQL, SQL Server, DB2 и т. д.

Что такое SQL?

SQL — это краткая форма языка структурированных запросов, которая произносится как S-Q-L или иногда как See-Quell.

Этот язык базы данных в основном предназначен для обслуживания данных в системах управления реляционными базами данных. Это специальный инструмент, используемый специалистами по данным для обработки структурированных данных (данных, которые хранятся в виде таблиц). Он также предназначен для потоковой обработки в RDSMS.

Вы можете легко создавать и управлять базой данных, получать доступ и изменять строки и столбцы таблицы и т. д. Этот язык запросов стал стандартом ANSI в 19 году.86 и ISO в 1987 году.

Если вы хотите получить работу в области науки о данных, то это самый важный язык запросов для изучения. Крупные предприятия, такие как Facebook, Instagram и LinkedIn, используют SQL для хранения данных в серверной части.

Почему SQL?

В настоящее время SQL широко используется в науке о данных и аналитике. Ниже приведены причины, объясняющие его широкое использование:

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

История SQL

«Реляционная модель данных для больших общих банков данных» — статья, опубликованная великим ученым-компьютерщиком Э. Ф. Коддом в 1970 году.

Исследователи IBM Рэймонд Бойс и Дональд Чемберлин первоначально разработали SEQUEL (язык структурированных запросов на английском языке) после изучения статьи, предоставленной Э. Ф. Коддом. Они оба разработали SQL в исследовательской лаборатории корпорации IBM в Сан-Хосе в 1919 году.70.

В конце 1970-х компания Relational Software Inc. разработала свой первый SQL, используя концепции Э. Ф. Кодда, Рэймонда Бойса и Дональда Чемберлина. Этот SQL был полностью основан на СУБД. Relational Software Inc., известная сейчас как Oracle Corporation, представила Oracle V2 в июне 1979 года, которая является первой реализацией языка SQL. Эта версия Oracle V2 работает на компьютерах VAX.

Процесс SQL

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

Язык структурированных запросов содержит в своем процессе следующие четыре компонента:

  • Диспетчер запросов
  • Механизмы оптимизации
  • Классический механизм запросов
  • Механизм запросов SQL и т. д.

Классический механизм запросов позволяет специалистам по данным и пользователям выполнять запросы, отличные от SQL. Архитектура SQL показана на следующей диаграмме:

Некоторые команды SQL

Команды SQL помогают создавать базу данных и управлять ею. Наиболее часто используемые команды SQL перечислены ниже:

  1. Команда СОЗДАТЬ
  2. Команда ОБНОВЛЕНИЯ
  3. УДАЛИТЬ команду
  4. ВЫБОР команды
  5. Команда DROP
  6. Команда ВСТАВИТЬ

Команда СОЗДАТЬ

Эта команда помогает создать новую базу данных, новую таблицу, табличное представление и другие объекты базы данных.

Команда ОБНОВЛЕНИЯ

Эта команда помогает обновить или изменить сохраненные данные в базе данных.

Команда УДАЛИТЬ

Эта команда помогает удалить или стереть сохраненные записи из таблиц базы данных. Он стирает один или несколько кортежей из таблиц базы данных.

Команда ВЫБОР

Эта команда помогает получить доступ к одной или нескольким строкам из одной или нескольких таблиц базы данных. Мы также можем использовать эту команду с предложением WHERE.

Команда DROP

Эта команда помогает удалить всю таблицу, табличное представление и другие объекты из базы данных.

Команда ВСТАВИТЬ

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

SQL против

без SQL

В следующей таблице описаны различия между SQL и NoSQL, которые необходимо понимать:

SQL Без SQL
1. SQL — это система управления реляционными базами данных. 1. Хотя No-SQL является нереляционной или распределенной системой управления базами данных.
2. Язык запросов, используемый в этой системе баз данных, является структурированным языком запросов. 2. Язык запросов, используемый в системах баз данных No-SQL, является недекларативным языком запросов.
3. Схема баз данных SQL предопределена, фиксирована и статична. 3. Схема баз данных No-SQL является динамической схемой для неструктурированных данных.
4. Эти базы данных можно масштабировать по вертикали. 4. Эти базы данных являются горизонтально масштабируемыми.
5. Тип базы данных SQL в виде таблиц, т. е. в виде строк и столбцов. 5. Тип базы данных No-SQL представляет собой документы, ключ-значение и графики.
6. Модель соответствует модели ACID. 6. Соответствует модели BASE.
7. Сложные запросы легко обрабатываются в базе данных SQL. 7. Базы данных NoSQL не могут обрабатывать сложные запросы.
8. Эта база данных не лучший выбор для хранения иерархических данных. 8. В то время как база данных No-SQL является идеальным вариантом для хранения иерархических данных.
9. Все базы данных SQL требуют объектно-реляционного сопоставления. 9. Многие базы данных No-SQL не требуют объектно-реляционного сопоставления.
10. Датчики, CircleCI, Hootsuite и т. д. являются ведущими предприятиями, использующими этот язык запросов. 10. Airbnb, Uber и Kickstarter — ведущие предприятия, использующие этот язык запросов.
11. SQLite, Ms-SQL, Oracle, PostgreSQL и MySQL являются примерами систем баз данных SQL. 11. Примерами систем баз данных NoSQL являются Redis, MongoDB, Hbase, BigTable, CouchDB и Cassandra.

Преимущества SQL

SQL предоставляет различные преимущества, которые делают его более популярным в области науки о данных. Это идеальный язык запросов, который позволяет специалистам по данным и пользователям общаться с базой данных. Ниже приведены лучшие преимущества языка структурированных запросов:

.

1. Программирование не требуется

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

2. Высокоскоростная обработка запросов

Быстрый и эффективный доступ к большому объему данных из базы данных с помощью запросов SQL. Операции вставки, удаления и обновления данных также выполняются за меньшее время.

3. Стандартизированный язык

SQL соответствует давно установленным стандартам ISO и ANSI, которые предлагают единую платформу по всему миру для всех своих пользователей.

4. Портативность

Язык структурированных запросов можно легко использовать на настольных компьютерах, ноутбуках, планшетах и ​​даже смартфонах. Его также можно использовать с другими приложениями в соответствии с требованиями пользователя.

5. Интерактивный язык

Мы можем легко выучить и понять язык SQL. Мы также можем использовать этот язык для связи с базой данных, потому что это простой язык запросов. Этот язык также используется для получения ответов на сложные запросы за несколько секунд.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *