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 П.прізвище=”Іванчук”


 

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

54936. Напряжение. Расчет работы в электрическом поле 63.5 KB
  Цель урока: Обеспечить усвоение понятия напряжение его условного обозначения единицы в СИ понимание энергетического смысла напряжения формирование умения выделять существенные признаки понятия напряжение. Задачи Обучающие: продолжить формирование понятий напряжение работа; продолжить формирование умений и навыков решать разноуровневые задачи.
54937. Создание и форматирование списков 45.5 KB
  Цели урока: Контроль знаний и умений по темам Редактирование и форматирование текста. Задачи урока: Обучающие: сформировать представление о списках их видах; сформировать представление о создании и форматировании списков; совершенствовать культуру оформления документов; учащиеся должны знать понятия: список виды списков; учащиеся должны уметь: создавать и форматировать списки. Тип урока: комбинированный урок.
54938. ХИМИЧЕСКИЙ СОСТАВ РАСТЕНИЙ 109.5 KB
  Задачи урока: познакомиться с процессом поглощения веществ из почвы минеральным или почвенным питанием растения ролью корневых волосков в этом процессе.
54939. Издержки производства и прибыль 24 KB
  Тип урока: обобщение и систематизация знаний Цели урока: Создать условия для: обобщения и систематизации ЗУН по теме Издержки производства деятельности учащихся по самостоятельному применению знаний и...
54940. Основы сельского хозяйства. Почвы 91 KB
  Главнейшее качество почвы плодородие то есть способность удовлетворять потребность растений в элементах минерального питания воде обеспечивать их корневые системы достаточным количеством воздуха и тепла. Плодородие почвы обусловлено запасом элемента питания их формами содержанием гумуса его составом мощностью гумусовых горизонтов механическим составом интенсивностью...
54942. Формирование игровых навыков, ловкости, целеустремленности и потребности к систематическим занятиям физической культурой 33 KB
  5 повторов Лицом друг к другу на расстоянии 89 метров передачи в парах стоя на месте изза головы без удара об пол. 5 повторов Лицом друг к другу на расстоянии 89 метров передачи в парах стоя на месте одной рукой с ударом об пол. 5 повторов Обучение и закрепления броска с 2х шагов с правой стороны. 5 повторов Обучение и закрепления броска с 2х шагов с левой стороны.
54943. Семь чудес света 26 KB
  Строительство пирамиды продолжалось около 20 лет и было закончено в 2560 году до нашей эры. Жители Каира сняли облицовку с пирамиды для того чтобы построить новые дома. Внутри пирамиды Хеопса расположены три палаты усыпальницы.
54944. Техническое обслуживание сцепления. Возможные неисправности в сцеплении и методы их устранения 156 KB
  Образовательная: узнать какие виды работ проводятся при техническом обслуживании и ремонте сцепления. Развивающая: научиться ремонтировать механизмы сцепления. Объявить тему практического занятия: Техническое обслуживание сцепления.