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


 

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

41899. ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ СИСТЕМ НЕЛИНЕЙНЫХ УРАВНЕНИЙ. МЕТОД НЬЮТОНА 213.45 KB
  Цель работы: научиться решать системы нелинейных уравнений СНУ методом простых итераций МПИ и методом Ньютона с помощью ЭВМ. Изучить МПИ и метод Ньютона для решения систем нелинейных уравнений. На конкретном примере усвоить порядок решения систем нелинейных уравнений МПИ и методом Ньютона с помощью ЭВМ. Построить рабочие формулы МПИ и метода Ньютона для численного решения системы при начальном приближении: .
41900. ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ 244.14 KB
  Цель работы: научиться решать системы линейных алгебраических уравнений СЛАУ методом простых итераций МПИ и методом Зейделя с помощью ЭВМ. Изучить метод простых итераций и метод Зейделя для решения СЛАУ. Сравнить скорости сходимости метода простых итераций и метода Зейделя. Построить рабочие формулы МПИ и метода Зейделя для численного решения системы.
41901. Знакомство со средой разработки Oracle Application Express. Создание исходного приложения 1.09 MB
  Знакомство со средой разработки Orcle ppliction Express. Каковы основные компоненты среды разработки Orcle ppliction Express ppliction Builder собственно среда разработки webстраниц и бизнесправил. Что такое рабочая область workspce Рабочая область workspce это виртуальная частная база данных которая позволяет множеству пользователей работать с одной инсталляцией Orcle ppliction Express обеспечивая при этом приватность пользовательских объектов и приложений.
41902. Построение графиков в среде программирования MATLAB 354.21 KB
  Цель работы: научиться строить графики различных типов в программной среде MATLAB. Изучить основные операторы построения графиков в среде программирования MATLAB; освоить принципы построения различных типов графиков в среде программирования MATLAB.
41904. Проверка выборочного распределения 54.6 KB
  По критерию Пирсона гипотеза о нормальности изучаемого распределения принимается. Основные статистические характеристики: Среднее выборочное значение (математическое ожидание)
41905. Исследование работы усилительного каскада на биполярном транзисторе 48.29 KB
  2013 Цели работы: Определить основные параметры усилительного каскада на биполярном транзисторе и их зависимость от значений режимов работы схемы; Снять и построить амплитудночастотную характеристику усилительного каскада на биполярном транзисторе в схеме с ОЭ; Приборы и оборудование: Учебный лабораторный комплекс Устройство лабораторное по электротехнике К4826. Ход работы: Собрали схему для снятия характеристик усилительного каскада на биполярном транзисторе в соответствии с рисунком 1: Рисунок 1 Усилительный каскад на...
41906. ИССЛЕДОВАНИЕ ЗАМЕДЛЯЮЩИХ СИСТЕМ НА РЕЗОНАНСНОМ МАКЕТЕ 98.13 KB
  Исследование проводится на резонансном макете (рис. 1), который представляет собой короткозамкнутый отрезок ЗС длиной пять периодов. С помощью петли связи 4 в макете возбуждается стоячая волна, амплитуда которой контролируется через петлю связи 5. Размеры петель выбраны из условия пренебрежимо малого искажения ими поля в ЗС.
41907. Создание консольного приложения на языке C# 12.39 KB
  Используя среду разработки MS Visul Studio 2010 необходимо создать консольное приложение выполняющее определённые действия над указанным текстовым файлом: Вариант 1: Рассчитать и вывести на консоль количество гласных и количество согласных букв в тексте файла. Вариант 2: Рассчитать и вывести на консоль сумму целых чисел перечисленных во входном файле. Вариант 3: Вывести самое длинное слово из текста находящегося во входном файле несколько таких слов если их длина одинакова. Вариант 4: Вывести три слова из текста находящегося во входном...