22602

SQL. Знайти всі відомості про всіх постачальників

Лекция

Математика и математический анализ

SELECT FROM П; Знайти номери постачальників з статусом більш 20 що живуть у місті N. SELECT КП FROM П WHERE місто = ‘NAND статус 20; Знайти прізвища постачальників які постачають деталь Д1. SELECT Прізвище FROM П WHERE КП IN SELECT КП FROM ОПД WHERE КД = ‘Д1; Знайти прізвища постачальників які постачають принаймні одну червону деталь. SELECT Прізвище FROM П WHERE КП IN SELECT КП FROM ОПД WHERE КД IN SELECT КД FROM ОПД WHERE колір = ‘червоний; Дужки обовязково ставляться якщо є неоднозначність.

Украинкский

2013-08-04

56 KB

5 чел.

SQL

  1.  Знайти всі відомості про всіх постачальників.

SELECT *

FROM П;

  1.  Знайти номери постачальників з статусом, більш 20, що живуть у місті N.

SELECT КП

FROM П

WHERE місто = ‘NAND статус > 20;

  1.  Знайти прізвища постачальників, які постачають деталь Д1.

SELECT Прізвище

FROM П

WHERE КП IN

(SELECT КП

FROM ОПД

WHERE КД = Д1’);

  1.  Знайти прізвища постачальників, які постачають принаймні одну червону деталь.

SELECT Прізвище

FROM П

WHERE КП IN

SELECT КП

FROM ОПД

WHERE КД IN

 SELECT КД

FROM ОПД

WHERE колір = ‘червоний’;

 

Дужки обов’язково ставляться, якщо є неоднозначність.

  1.  Знайти прізвища постачальників, які постачають принаймні одну деталь, яку постачає Іванчук.

SELECT Прізвище

FROM П

WHERE КП IN

SELECT КП

FROM ОПД

WHERE КД IN

 SELECT КД

FROM ОПД

WHERE КП IN

SELECT КП

FROM П

WHERE прізвище = ‘Іванчук’;

  1.  Знайти прізвища постачальників, які не постачають деталь Д1.

SELECT Прізвище

FROM П

WHERE ‘Д1’ NOT IN

SELECT КД

FROM ОПД

WHERE КП = П.КП;

  1.  Знайти номери тих деталей, що постачаються кількома постачальниками.

SELECT DISTINCT КД

FROM ОПД

WHERE КД IN

SELECT КД

FROM ОПД

WHERE КП ¹ X.КП;

  1.  Для кожної деталі, що постачається, знайти її номер і назви всіх міст, де живуть її постачальники.

SELECT DISTINCT КД, місто

FROM ОПД, П

WHERE ОПД.КП = П.КП;

  1.  Знайти прізвища постачальників, які постачають всі деталі.

SELECT Прізвище

FROM П

WHERE  (SELECT КД

FROM ОПД

WHERE КП = П.КП) =

(SELECT КД

FROM Д);

  1.  Знайти прізвища постачальників, які постачають принаймні всі ті деталі, що і постачальник з номером П127.

SELECT Прізвище

FROM П

WHERE КП IN

SELECT КП

 FROM ОПД X

WHERE  (SELECT КД

FROM ОПД

WHERE КП = X.КП) CONTAINS

 (SELECT КД

FROM ОПД

WHERE КП = ‘127’);

SEQUEL 2

SELECT Прізвище

FROM П

WHERE КП IN

SELECT КП

 FROM ОПД

GROUP BY КП

 HAVING SET(КД) CONTAINS

(SELECT КД

FROM ОПД

WHERE КП = ‘127’);

  1.  Знайти коди постачальників, що не постачають у поточний момент ніяких деталей.

(SELECT КП

FROM П) MINUS

(SELECT КП

 FROM ОПД);

  1.  Знайти коди постачальників, що постачають деталь Д1та Д2.

SELECT DISTINCT ОПД.КП

FROM ОПД

GROUP BY ОПД.КП

HAVING SET(ОПД.КД) CONTAINS (‘Д1’, ‘Д2’);

  1.  Знайти коди постачальників, що мають такі ж значення статуса і міста, що і постачальник П127.

SELECT КП

FROM П

WHERE <статус, місто> IN

 SELECT статус, місто

FROM П

WHERE КП = П127’;

  1.  Знайти загальну кількість постачальників.

SELECT COUNT(*) FROM П;

  1.  Знайти загальну кількість деталей з номером Д123.

SELECT SUM(кількість)

FROM ОПД

WHERE КД = Д123;

  1.  Знайти прізвище постачальників з найбільшим статусом.

SELECT Прізвище

FROM П

WHERE статус = SELECT MAX(статус) FROM П;

  1.  Для кожної деталі, що постачається, знайти її номер і кількість постачальників.

SELECT КД, COUNT(КП)

FROM ОПД GROUP BY КД;

  1.  Знайти номери деталей, які постачаються більше ніж одним постачальником.

SELECT КД

FROM ОПД GROUP BY КД

HAVING COUNT(КП) > 1;

  1.  В таблиці Д знайти кортеж з кодом деталі 321 і замінити її колір на жовтий.

UPDATE Д

SET колір = ‘жовтий’

WHERE КД = 321;

  1.  Збільшити кількість деталей з номером 137, що постачаються постачальником з номером 12, на 10.

UPDATE ОПД

SET кількість = кількість + 10

WHERE КП = 12 AND КД = 137’;

  1.  Внесення нових кортежів.

INSERT INTO Д VALUES

<…, …, …, …>;

INSERT INTO Д

 SELECT *

FROM Z

WHERE колір = червоний’;

CREATE DOMAIN – створити новий тип.

DROP – знищити таблицю.

  1.  Вилучення.

DELETE П

WHERE КП = ‘013’;

  1.  Знайти коди деталей, які постачаються для всіх одержувачів у місті N.

SELECT UNIQUE КД

FROM ОПД X

WHERE  (SELECT КО

FROM ОПД

WHERE КД = X.КД) CONTAINS

(SELECT КО

FROM O

WHERE місто = ‘N’);

АБО

SELECT UNIQUE КД

FROM ОПД

GROUP BY КД

HAVING SET(КО) CONTAINS

(SELECT КО

FROM О

WHERE місто = ‘N’);

SQL ACCESS.

Розглянемо приклад.

Знайти статус постачальника і ціну поставок, для яких максимальна ціна менше середньої.

SELECT DISTINCTROW П.статус, MAX(ОПД.ціна)

FROM П INNER JOIN ОПД ON П.КП = ОПД.КП

GROUP BY П.статус

HAVING ((MAX(ОПД.ціна)) < 

SELECT AVG(ОПД.ціна)

FROM ОПД);

  1.  DISTINCTROW – призначений для відображення унікальних значень після виконання SELECT. Якщо у FROM стоїть лише одна таблиця, то DISTINCTROW та DISTINCT не відрізняються.
  2.  INNER JOIN ON – природне з’єднання таблиць.
  3.  GROUP BYутворює групи по однакових значеннях (в даному випадку – однаковому значенню статуса).
  4.  SELECT AVGобчислюється середнє значення по таблиці.

Кожне поле, яке вказане в SELECT, може бути супроводжено аліасом:

SELECT IN AS ALIAS

TOP 5 – взяти перші 5 значень.

TOP 5 PERCENTвзяти перші 5% значень.

Приклади.

  1.  Знайти прізвища постачальників, які щось постачають.

SELECT DISTINCTROW П.прізвище

FROM П

WHERE EXISTS  (SELECT *

FROM ОПД

WHERE ОПД.КП = П.КП);

  1.  Знайти назву і вагу деталей, для яких вага більша ніж у кожної червоної деталі.

SELECT DISTINCTROW Д.назва, Д.вага

FROM Д

WHERE ((Д.вага) > ALL

(SELECT Д.вага

FROM Д

WHERE колір = ‘червоний’));

Для пошуку хоча б одного значення використовуються SOME, ANY.

  1.  Знайти прізвища тих постачальників, які постачають деталі принаймні всіх тих кольорів, що і Іванчук.

SELECT П.прізвище

FROM  П INNER JOIN  ( ОПД INNER JOIN  Д  ON Д.КД=ОПД.КД )

                                       ON  П.КП=ОПД.КП

GROP BY П.прізвище

HAVING COUNT (Д.колір) =

                                      SELECT COUNT (Д.колір)

                                      FROM  Д INNER JOIN  ( ОПД  INNER JOIN П ON П.КП=ОПД.КП)

                                                                               ON ОПД.КД=Д.КД

WHERE П.прізвище=”Іванчук”


 

А также другие работы, которые могут Вас заинтересовать

71198. Прочностные расчеты деталей в приложениях COSMOSXpress и COSMOSWorks 411.5 KB
  Цель: Изучить основные методы выполнения прочностных расчетов деталей в приложениях COSMOSXpress и COSMOSWorks. После занятия студент должен: Знать: Основные методы выполнения прочностных расчетов деталей в приложениях COSMOSXpress и COSMOSWorks.
71199. Создание различных конфигураций деталей в пакете программ SolidWorks 639 KB
  Уметь: Создавать различные конфигурации деталей в пакете программ SolidWorks. 482491 рассмотреть суть таких вопросов: 1 создание конфигурации вручную; 2 создание конфигурации с помощью таблиц параметров; 3 основные сведения о конфигурациях; б занести в отчет такие данные...
71201. Приготовление и отделка торта «Ленинградского» 13.75 KB
  Цель: Закрепить полученные знания технологии приготовления и отделке торта «Ленинградского» Получить практические навыки приготовления и отделке торта «Ленинградского». Сырье и материалы: мука пшеничная. пудра рафинадная, масло сливочное, пудра сахарная, молоко сгущенное, ванилин...
71202. Приготовление украшения из крема 15.88 KB
  Обеими руками соединяют края мешка и зажимая его правой рукой отсаживают крем придерживая узкий конец кондитерского мешка левой. Узор равномерно отсаживают волнообразно двигая трубочку вдоль изделия. Получается ножка гриба на которую отсаживают шляпку из крема или из выпеченного тестового полуфабриката.
71204. Определение дефектов и болезней хлебных изделий 19.4 KB
  Теоретическая часть: Наиболее распространенными внешними дефектами хлеба являются: пониженный объем трещины пузыри и пятна на поверхности хлеба отсутствие глянца на корке излишне бледная или слишком темная окраска корки выпуклая или вогнутая верхняя корка боковые притиски расплывчатость.
71205. Изучение строения зелёных водорослей 38.5 KB
  Цель: изучить внешнее и клеточное строение водорослей найти черты низшего растения. Выявите признаки низшего растения в строении водорослей. Какова окраска водорослей Как вы думаете чем она обусловлена Определите разделено ли тело водоросли на органы Какие Как называется тело водорослей...
71206. Гармонический анализ сигналов 68.5 KB
  Цель: Приобрести навыки проведения преобразования Фурье расчета характеристик спектра очистки сигнала от шумов в частотной области. Задачи: Прямое и обратное преобразование Фурье быстрое преобразование Фурье. Краткие теоретические сведения Дискретное преобразование Фурье...