SQL - Обзор

Здравствуйте,future программисты! Я рад быть вашим проводником в этом захватывающем путешествии в мир SQL. Как кто-то, кто teaches computer science более десяти лет, я могу告诉你, что SQL как швейцарский армейский нож в мире данных - невероятно универсален и абсолютно необходим. Так что погружаемся и вместе расшифровываем SQL!

SQL - Overview

Что такое SQL?

SQL, что означает Structured Query Language, - это special-purpose programming language, предназначенный для управления и манипулирования реляционными базами данных. Теперь я знаю, что это может показаться немного пугающим, но подумайте об этом так: если данные были бы большой библиотекой, то SQL был бы библиотекарем, который знает exactly где каждая книга и может найти любую информацию, которую вам нужно, в два счета.

Основные характеристики SQL

  1. Декларативный язык: Вы говорите SQL что вы хотите, а не как это получить.
  2. Основан на множествах: Он operates на множествах данных, а не только на отдельных записях.
  3. Непроцедурный: Вам не нужно указывать exact шаги для извлечения данных.

Вот простой пример, чтобы проиллюстрировать, как выглядит SQL:

SELECT first_name, last_name
FROM employees
WHERE department = 'Sales';

Этот запрос спрашивает у базы данных, чтобы та дала нам имена и фамилии всех сотрудников в отделе продаж. Pretty straightforward, правда?

Зачем учить SQL?

Теперь вы можете задаться вопросом: "Why should I learn SQL?" Ну, позвольте мне рассказать вам一个小кую историю. Несколько лет назад одна из моих студенток нашла отличную работу сразу после окончания колледжа, просто потому что она знала SQL. Компания имела vast amounts of data, но не могла понять, что с ней делать. Ее навыки SQL сделали ее мгновенной героиней!

Вот несколько убедительных причин учить SQL:

  1. Универсальный язык: Почти все реляционные базы данных понимают SQL.
  2. Данные везде: От small businesses до технологических гигантов, все использует базы данных.
  3. Career opportunities: Навыки SQL высоко ценятся в различных отраслях.
  4. Мощная обработка данных: SQL может легко справляться с large datasets.

Краткая история SQL

SQL существует уже давно, гораздо дольше, чем многие из нас! Он появился в 1970-х годах, что в компьютерных годах практически antediluvian. Исследователи IBM Donald Chamberlin и Raymond Boyce разработали SQL на основе relational model Эдгара Кодда. Они как будто были Dr. Frankenstein данных, ожившие language, который мог говорить с базами данных!

Key Milestones

Год Событие
1970 Edgar Codd предлагает реляционную модель
1974 Родился SQL в IBM
1986 SQL становится ANSI стандартом
1987 SQL становится ISO стандартом
1990-е годы Многие системы баз данных adopt SQL

Как работает SQL?

Теперь давайте заглянем под капот и посмотрим, как на самом деле работает SQL. SQL operates на клиент-серверной модели. Представьте это как ресторан: вы (клиент) делаете заказ, а кухня (сервер) готовит и подает ваш обед.

Процесс SQL

  1. Подключение: Ваше приложение подключается к серверу базы данных.
  2. Запрос: Вы отправляете SQL запрос на сервер.
  3. Обработка: Сервер обрабатывает ваш запрос.
  4. Результат: Сервер возвращает результат вашему приложению.

Давайте рассмотрим более сложный пример, чтобы проиллюстрировать этот процесс:

SELECT c.customer_name, SUM(o.total_amount) as total_spent
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
GROUP BY c.customer_name
HAVING SUM(o.total_amount) > 1000
ORDER BY total_spent DESC;

Этот запрос делает следующее:

  1. Он объединяет две таблицы: customers и orders.
  2. Он calculates общую сумму, потраченную каждым клиентом.
  3. Он фильтрует, чтобы показать только клиентов, которые потратили более $1000.
  4. Наконец, он сортирует результаты от highest spender до lowest.

Когда вы запускаете этот запрос, SQL проходит через несколько шагов:

  1. Сначала он объединяет таблицы customers и orders.
  2. Затем он grouping результат по имени клиента.
  3. Он calculates сумму total_amount для каждого клиента.
  4. Он applies HAVING clause для фильтрации клиентов, которые не потратили более $1000.
  5. Наконец, он сортирует результаты в descending order total spent.

Все это происходит за кулисами, и вы получаете nice, neat таблицу результатов!

SQL в действии

Чтобы действительно понять, как работает SQL, давайте создадим простую базу данных и выполним несколько запросов. Представим, что мы управляем small bookstore:

-- Создаем таблицу для книг
CREATE TABLE books (
book_id INT PRIMARY KEY,
title VARCHAR(100),
author VARCHAR(50),
price DECIMAL(5,2)
);

-- Вставляем данные
INSERT INTO books VALUES
(1, 'To Kill a Mockingbird', 'Harper Lee', 12.99),
(2, '1984', 'George Orwell', 10.99),
(3, 'Pride and Prejudice', 'Jane Austen', 9.99);

-- Запрос, чтобы найти книги, costing более $10
SELECT title, price
FROM books
WHERE price > 10
ORDER BY price DESC;

Когда вы выполните последний запрос, SQL будет:

  1. Смотреть на все записи в таблице books.
  2. Проверять цену каждой книги против условия (> 10).
  3. Для книг, соответствующих условию, он будет select title и price.
  4. Наконец, он будет сортировать эти результаты по цене в descending order.

Результат может выглядеть примерно так:

title price
To Kill a Mockingbird 12.99
1984 10.99

И вот оно! Вы только что witnessed SQL в действии, от создания таблицы до вставки данных и их запроса.

Remember, учить SQL как учиться ездить на велосипеде. Сначала это может казаться неуверенным, но с практикой вы быстро научитесь zip через базы данных. Продолжайте экспериментировать, stay curious, и не бойтесь犯错误 - это как мы учимся лучше!

Credits: Image by storyset