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


 

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

3763. Обеспечение качества 203.5 KB
  Обеспечение качества Объективные предпосылки изменения отношения к качеству и эволюция управления качеством Вопросы качества продукции и его повышения всегда находились в центре общественного внимания. Изменение акцента в оценке товара для удовлет...
3764. Рекомбинационные генетические карты 500.5 KB
  Рекомбинационные генетические карты. Хромосомная теория наследственности и кроссинговер Первое предположение о том, что элементы наследственности находятся в хромосомах, поскольку хромосомный материал в равной степени распределяется дочерними клет...
3765. Маркетинговая деятельность на промышленном предприятии 222 KB
  Маркетинговая деятельность на промышленном предприятии. Цели и содержание маркетинговой деятельности промышленного предприятия Основу маркетинговой деятельности промышленного предприятия составляют: исследования рынка, разработка программы создания...
3766. Інтелект-шоу ЕОМ - ЕВРИКА 4.78 MB
  Інтелект-шоу ЕОМ - ЕВРИКА для учнів 9-11 класів Сьогодні ми проводимо інтелектуальну гру „ЕОМ-Еврика” на зразок телевізійного інтелект-шоу „LG-Еврика”. На уроках ми вже вивчили теми, які пропонуються Вам на конкурс. У інтелектуально...
3767. Національна символіка України 4.39 MB
  Національна символіка України Згадаймо, як 26 квітня 1989 року на велелюдному мітингові, що зібрався на площі Ринок у Львові з нагоди третьої річниці Чорнобильської аварії, замайоріли синьо-жовті прапори з жалобними стрічками. А кілька днів по тому...
3768. Нерудні корисні копалини Дніпропетровщини 10.09 MB
  Нерудні корисні копалини Мета: Поглибити та систематизувати знання про групи нерудних корисних копалин України, Дніпропетровщини, Кривого Рогу. Їх розміщення та використання. Формувати світогляд на основі пізнання світу, сформувати в учн...
3769. Українське відродження або нова русифікація 1.49 MB
  Вступ День 2 листопада 1998 р. починався як звичайний робочий день, котрі заповнюють більшість нашого життя. Залишилася в минулому виборча лихоманка, а Верховна Рада України, нарешті, пережила "спікеріаду" й занурилася до роботи. Здавалося, що на як...
3770. Звукоподражание в современном английском языке 157 KB
  Введение Настоящая курсовая работа посвящена изучению агломератов английских звукоподражательных единиц. Основные понятия настоящей работы: Звукоподражание (ономатопея) – условное воспроизведение звуков природы и звучаний, сопровождающих некото...
3771. Орнамент — один из древнейших видов изобразительной деятельности человека 589 KB
  Введение. В народном декоративном искусстве все основано на отработанных профессиональных навыках и приемах, выработанных на протяжении многих поколений. Эти приемы настолько совершенны, что их применение позволяет достичь большой художественной выр...