Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Technical Portfolio
GitHub & GitVerse Pages

Глава 3. Запросы

SQL Lab in JupyterLab

Data & BI Analyst

Abstract

Расширение JupySQL подсвечивает синтаксис SQL в блокнотах Jupyter, но не на созданном в Jupyter Book сайте. Как обойти это недоразумение было показано в Главе 2. Здесь и далее подобным увлекаться не будем.

SQLAlchemy - подключение создано
JupySQL - успешно подключен через SQLAlchemy Engine!

Механика запросов

Loading...
Loading...
Loading...
Loading...
Loading...

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

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

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Псевдонимы столбцов

Loading...
Loading...
Loading...

Удаление дубликатов

3.0.3
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

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

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

Производные таблицы (генерируемые подзапросами)

Loading...
Loading...
Loading...

Временные таблицы

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Представления

Loading...
Loading...
Loading...
Loading...
Loading...

Связи таблиц

Loading...
Loading...
Loading...

Определение псевдонимов таблиц

Loading...
Loading...
Loading...

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

Это механизм для фильтрации нежелательных строк из результирующего набора.

Loading...
Loading...
Loading...
1.43.1
Loading...
Loading...
Loading...
polars.dataframe.frame.DataFrame
Loading...
Loading...
Loading...

Предложения group by и having

count(*) – возвращает количество записей таблицы.

Loading...
Loading...
Loading...

Предложение order by

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

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Сортировка по возрастанию и убыванию

desc - ключевое слово для сортировки по убыванию

Loading...
Loading...
Loading...

Сортировка с помощью номера столбца

Loading...
Loading...
Loading...

Упражнения

Упражнение 3.1

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

1.43.1
Loading...
Loading...
Loading...

Упражнение 3.2

Получите идентификатор, имя и фамилию актера для всех актеров, чьи фамилии ‘WILLIAMS’ или ‘DAVIS’.

Loading...
Loading...
Loading...

Упражнение 3.3

Напишите запрос к таблице rental, который возвращает идентификаторы клиентов, бравших фильмы напрокат 5 июля 2005 года (используйте столбец rental.rental_date; можете также использовать функцию date(), чтобы игнорировать компонент времени). Выведите по одной строке для каждого уникального идентификатора клиента.

Loading...
Loading...
Loading...

Упражнение 3.4

Заполните пропущенные места (обозначенные как <#>) в следующем многотабличном запросе, чтобы получить показанные результаты:

SELECT c.email, r.return_date
FROM customer c
  INNER JOIN rental <1>
  ON c.customer_id = <2>
WHERE date(r.rental_date) = '2005-06-14'
ORDER BY <3> <4>;
| email                                 | return date         |
| ------------------------------------- | ------------------- |
| DANIEL.CABRAL@sakilacustomer.org      | 2005-06-23 22:00:38 |
| TERRANCE.ROUSH@sakilacustomer.org     | 2005-06-23 21:53:46 |
| MIRIAM.MCKINNEY@sakilacustomer.org    | 2005-06-21 17:12:08 |
| GWENDOLYN.MAY@sakilacustomer.org      | 2005-06-20 02:40:27 |
| JEANETTE.GREENE@sakilacustomer.org    | 2005-06-19 23:26:46 |
| HERMAN.DEVORE@sakilacustomer.org      | 2005-06-19 03:20:09 |
| JEFFERY.PINSON@sakilacustomer.org     | 2005-06-18 21:37:33 |
| MATTHEW.MAHAN@sakilacustomer.org      | 2005-06-18 05:18:58 |
| MINNIE.ROMERO@sakilacustomer.org      | 2005-06-18 01:58:34 |
| SONIA.GREGORY@sakilacustomer.org      | 2005-06-17 21:44:11 |
| TERRENCE.GUNDERSON@sakilacustomer.org | 2005-06-17 05:28:35 |
| ELMER.NOE@sakilacustomer.org          | 2005-06-17 02:11:13 |
| JOYCE.EDWARDS@sakilacustomer.org      | 2005-06-16 21:00:26 |
| AMBER.DIXON@sakilacustomer.org        | 2005-06-16 04:02:56 |
| CHARLES.KOWALSKI@sakilacustomer.org   | 2005-06-16 02:26:34 |
| CATHERINE.CAMPBELL@sakilacustomer.org | 2005-06-15 20:43:03 |

16 rows in set (0.03 sec)
Loading...
Loading...
Loading...