Создание базы данных "Игрушки", страница 8

SELECT Toysinfo.toyname, Toysinfo.price;

 FROM ;

     toys!toysinfo;

 WHERE  Toysinfo.price = (SELECT MAX(Toysinfo.price)  FROM       toys!toysinfo)

Текст запроса на поиск самой дешевой игрушки

SELECT Toysinfo.toyname, Toysinfo.price;

 FROM ;

     toys!toysinfo;

 WHERE  Toysinfo.price = (SELECT MIN(Toysinfo.price)  FROM       toys!toysinfo)


Текст запроса на поиск средней стоимости игрушек каждого вида

SELECT Toytypes.toytypenam, AVG(Toysinfo.price);

 FROM ;

     toys!toytypes ;

    INNER JOIN toys!toysinfo ;

   ON  Toytypes.toytypeid = Toysinfo.toytypeid;

 GROUP BY Toytypes.toytypenam

Текст запроса на поиск средней стоимости всех игрушек в целом

SELECT "Средняя цена по всем видам:", AVG(Toysinfo.price);

 FROM ;

     toys!toysinfo

Пример работы

Рис. 9.3. Окно запроса №3.

Результат поиска самой дорогой игрушки:

Результат поиска самой дешевой игрушки:


Средняя цена по каждому виду:

Средняя цена для всех видов в целом:

Запрос 4: Найти игрушки с ценой в заданных пределах по каждому виду и в целом.

Текст запроса для выбранного вида игрушек

SELECT Toysinfo.toyname, Toysinfo.price;

 FROM ;

     toys!toytypes ;

    INNER JOIN toys!toysinfo ;

   ON  Toytypes.toytypeid = Toysinfo.toytypeid;

 WHERE  Toysinfo.price BETWEEN thisform.Text1.value AND thisform.Text2.value;

   AND  Toytypes.toytypenam = thisform.Combo1.value

Текст запроса для всех видов в целом

SELECT Toysinfo.toyname, Toysinfo.price;

 FROM ;

     toys!toysinfo;

 WHERE  Toysinfo.price BETWEEN thisform.Text1.value AND thisform.Text2.value


Пример работы

Выберем вид игрушек "Куклы" и введем цену от 200 до 400:

Рис. 9.4. Окно запроса №4.

Результат запроса по выбранному виду:

Результат запроса для всех видов в целом:


Запрос 5: Найти все игрушки заданного производителя.

Текст запроса

SELECT Toysinfo.toyname;

 FROM ;

     toys!suppliers ;

    INNER JOIN toys!toysinfo ;

   ON  Suppliers.supplierid = Toysinfo.supplierid;

 WHERE  Suppliers.supplier = thisform.Combo1.value

Пример работы

Выберем производителя "Toyland":

Рис. 9.5. Окно запроса №5.

Результат запроса:


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

Текст запроса для заданного возраста

DIMENSION a(1)

DIMENSION b(1)

SELECT COUNT(Toysinfo.toyid);

 FROM ;

     toys!toysinfo;

 WHERE  Toysinfo.price < thisform.Text1.value;

   AND  Toysinfo.forage = thisform.Text2.value INTO ARRAY a

 SELECT COUNT(Toysinfo.toyid);

 FROM ;

     toys!toysinfo;

 WHERE Toysinfo.price > 0 INTO ARRAY b

if MESSAGEBOX ("Доля дешёвых игрушек: "+STR(a*100/b)+" %", 0+64+0, "Доля")=1

ELSE

ENDIF

Текст запроса для всех игрушек в целом

DIMENSION a(1)

DIMENSION b(1)

SELECT COUNT(Toysinfo.toyid);

 FROM ;

     toys!toysinfo;

 WHERE Toysinfo.price < thisform.Text1.value INTO ARRAY a

 SELECT COUNT(Toysinfo.toyid);

 FROM ;

     toys!toysinfo;

 WHERE Toysinfo.price > 0 INTO ARRAY b

if MESSAGEBOX ("Доля дешёвых игрушек: "+STR(a*100/b)+" %", 0+64+0, "Доля")=1

ELSE

ENDIF

Пример работы

Введем предел цены равным 500 и возраст равным 5:

Рис. 9.6. Окно запроса №6.


Результат запроса для заданного возраста:

Результат запроса для всех игрушек в целом:

Запрос 7: Найти все игрушки с заданной датой выпуска.

Текст запроса

SELECT Toysinfo.toyname;

 FROM ;

     toys!toysinfo;

 WHERE  Toysinfo.releasedat = thisform.Text1.value

Пример работы

Введем дату выпуска 31 января 2007:

Рис. 9.7. Окно запроса №7.


Результат запроса:

Запрос 8: Найти все игрушки, чей вес находится в заданных пределах для заданного производителя и в целом.

Текст запроса для заданного производителя

SELECT Toysinfo.toyname, Toysinfo.weight;

 FROM ;

     toys!suppliers ;

    INNER JOIN toys!toysinfo ;

   ON  Suppliers.supplierid = Toysinfo.supplierid;

 WHERE  Suppliers.supplier = thisform.Combo1.value;

   AND  Toysinfo.weight BETWEEN thisform.Text1.value AND thisform.Text2.value