Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бд.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.92 Mб
Скачать

Операція вибірки (обмеження)

Реляційна алгебра: A WHERE c.

Операція вибірки (обмеження) дозволяє отримати всі рядки (записи) або частину рядків однієї таблиці.

Приклад 1. Отримати всі рядки таблиці Countries:  SELECT *  FROM countries

Таблиця 10.4. Всі рядки таблиці Countries

COUNTRY_ID

COUNTRY_NAME

REGION_ID

AR

Argentina

2

AU

Australia

3

BE

Belgium

1

BR

Brazil

2

CA

Canada

2

CH

Switzerland

1

CN

China

3

DE

Germany

1

DK

Denmark

1

EG

Egypt

4

FR

France

1

HK

HongKong

3

IL

Israel

4

IN

India

3

IT

Italy

1

JP

Japan

3

KW

Kuwait

4

MX

Mexico

2

NG

Nigeria

4

NL

Netherlands

1

SG

Singapore

3

UK

United Kingdom

1

US

United States of America

2

ZM

Zambia

4

ZW

Zimbabwe

4

У цьому прикладі та далі - для більшої наочності - всі зарезервовані слова мови SQL будемо писати великими літерами. Кожна конструкція для зручності буде писатися з нового рядку.

Приклад 2. Отримати підмножину рядків таблиці країн, що розташовані у регіоні 'Middle East and Africa' (region_id = 4):  SELECT *  FROM countries  WHERE region_id = 4

Таблиця 10.5. Підмножина рядків таблиці країн, що  розташовані у регіоні 'Middle East and Africa'

COUNTRY_ID

COUNTRY_NAME

REGION_ID

EG

Egypt

4

IL

Israel

4

KW

Kuwait

4

NG

Nigeria

4

ZM

Zambia

4

ZW

Zimbabwe

4

Операція проекції

Реляційна алгебра: PROJECT A {a1, a2, …, am}.

Операція проекції дозволяє виділити підмножину стовпців таблиці.

Приклад 3. Отримати список без повторів всіх країн для місць розташування:  SELECT country_id FROM locations GROUP BY country_id

або

SELECT DISTINCT country_id FROM locations

Таблиця 10.6. Список без повторів всіх країн для місць розташування

COUNTRY_ID

US

SG

CA

CH

IT

MX

CN

DE

JP

IN

AU

UK

BR

NL

На практиці дуже часто потрібно отримати якусь підмножину стовпців і рядків таблиці, тобто виконати комбінацію Restriction і Projection. Для цього досить перерахувати стовпці таблиці та накласти обмеження на рядки.

Приклад 4. Знайти назву регіону для Китаю:  SELECT region_name FROM countries, regions WHERE countries.region_id = regions.region_id and country_name = 'China'

Таблиця 10.7. Назва регіону для Китаю

REGION_NAME

Asia

Приклад 5. Отримати прізвища та імена працівників, яких звуть 'Peter':  SELECT first_name, last_name  FROM employees  WHERE first_name = 'Peter'

Таблиця 10.8. Прізвища та імена працівників, яких звуть 'Peter'

FIRST_NAME

LAST_NAME

Peter

Vargas

Peter

Tucker

Peter

Hall

Ці приклади ілюструють загальну форму команди SELECT в мові SQL (для однієї таблиці):  SELECT (вибрати) специфіковані поля  FROM (з) специфікованої таблиці  WHERE (де) деяка специфікована умова є істинною.