Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

SQL_All / sql / lab1sql

.doc
Скачиваний:
52
Добавлен:
18.03.2015
Размер:
37.38 Кб
Скачать

Лабораторная работа №1/SQL

Структурированный язык запросов (SQL) – введение.

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

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

  1. Создайте новую БД с именем TRADE

  2. В режиме Конструктора вкладки Таблицы создайте структуру таблиц:

    1. Таблица SALES – продавцы.

      1. Поле SNUM – идентификатор (номер) продавца. Тип: числовой; ключевое поле.

      2. Поле SNAME – фамилия продавца. Тип: текстовый; длина –15.

      3. Поле CITY – место жительства продавца. Тип: текстовый; длина –15.

      4. Поле COMM – доля комиссионных продавца с проданного товара. Тип: числовой; число десятичных знаков: 2.

    2. Таблица CUSTOMER – покупатели.

      1. Поле CNUM – идентификатор (номер) покупателя. Тип: числовой; ключевое поле.

      2. Поле CNAME – фамилия покупателя. Тип: текстовый; длина –15.

      3. Поле CITY – место жительства покупателя. Тип: текстовый; длина –15.

      4. Поле RATING – оценка активности покупателя. Тип: числовой.

      5. Поле SNUM – идентификатор продавца, связанного с данным покупателем. Тип: числовой

    3. Таблица ORDERS – покупки.

      1. Поле ONUM – идентификатор (номер) покупки. Тип: числовой; ключевое поле.

      2. Поле AMT – на какую сумму совершена покупка. Тип: числовой; число десятичных знаков: 2.

      3. Поле ODATE – дата покупки. Тип: дата/время.

      4. Поле CNUM – идентификатор покупателя, совершившего покупку. Тип: числовой.

      5. Поле SNUM – идентификатор продавца, продавшего данный товар. Тип: числовой.

  3. Во вкладке таблицы откройте созданные таблицы и введите данные.

Таблица SALES

SNUM

SNAME

CITY

COMM

1001

Peel

London

0.12

1002

Serres

San Jose

0.13

1003

Axelrod

New York

0.10

1004

Motika

London

0.11

1007

Rifkin

Barcelona

0.15

Таблица CUSTOMER

CNUM

CNAME

CITY

RATING

SNUM

2001

Hoffman

London

100

1001

2002

Giovanni

Rome

200

1003

2003

Liu

San Jose

200

1002

2004

Grass

Berlin

300

1002

2006

Clemens

London

100

1001

2007

Pereira

Rome

100

1004

2008

Cisneros

San Jose

300

1007

Таблица ORDERS

ONUM

AMT

ODATE

CNUM

SNUM

3001

18.69

03.10.1990

2008

1007

3002

1900.10

03.10.1990

2007

1004

3003

767.19

03.10.1990

2001

1001

3005

5160.45

03.10.1990

2008

1007

3006

1098.16

03.10.1990

2008

1007

3007

75.75

04.10.1990

2004

1002

3008

4723.00

05.10.1990

2006

1001

3009

1713.23

04.10.1990

2002

1003

3010

1309.95

06.10.1990

2004

1002

3011

9891.88

06.10.1990

2006

1001

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

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

  1. Простейший запрос имеет вид: SELECT snum,sname,city,comm FROM sales; Он выводит данные всех продавцов из таблицы SALES.

  2. Предыдущий запрос выводит данные всех полей таблицы SALES. Более коротко список всех полей можно описать, используя идентификатор *. Поэтому предыдущий запрос более коротко можно записать так: SELECT * FROM sales;

  3. Если нужно вывести только некоторые поля таблицы, следует перечислить их названия после ключевого поля SELECT. Например, SELECT sname,comm FROM sales;

  4. Порядок следования столбцов соответствует очередности их перечисления в таблице: SELECT odate,snum,onum,amt FROM orders;

  5. Если в таблице есть повторяющиеся данные (например, номера продавцов в таблице покупок), они выводятся в том виде, как встречаются: SELECT snum FROM orders;

  6. Для устранения дубликатов в запросе используется ключевое слово DISTINCT, следующее сразу же за ключевым словом SELECT, например: SELECT DISTINCT snum FROM orders;

  7. Можно ограничить вывод данных в запросе некоторым условием или комбинацией условий. Эти условия должны следовать после ключевого слова WHERE. Например, следующий запрос выводит фамилии всех продавцов из Лондона: SELECT sname,city FROM sales WHERE city="London";

  8. В параметрах условия можно задавать данные различных типов, например, текстовые (как в предыдущем запросе) или числовые. Следующий запрос выводит всех покупателей с рейтингом равным 100: SELECT * FROM Customer WHERE rating=100;

Задания для самостоятельного выполнения.

  1. Вывести номера покупок, даты и суммы покупок из таблицы ORDERS

  2. Из таблицы продавцов вывести продавца с идентификатором равным 1001.

  3. Вывести данные из таблицы SALES с полями в следующем порядке: city, sname, snum, comm

  4. Вывести имя и рейтинг каждого покупателя из San Jose

  5. Вывести без дубликатов номера всех продавцов из таблицы ORDERS

Соседние файлы в папке sql