22602

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

Лекция

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

SELECT FROM П; Знайти номери постачальників з статусом більш 20 що живуть у місті N. SELECT КП FROM П WHERE місто = ‘N’AND статус 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 П.прізвище=”Іванчук”


 

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

78987. Синергетика как современная общенаучная парадигма, её основные положения, роль и функции в междисциплинарном взаимодействии наук 78.5 KB
  Неустойчивость означает несохранение близости состояний системы в процессе ее эволюции. Открытость означает признание обмена системы веществом энергией информацией с окружающей средой и следовательно признание системы как состоящей из элементов связанных структурой так и включенности в качестве подсистемы элемента в иное целое. Подчинение означает что функционирование и развитие системы определяются процессами в ее подсистеме сверхсистеме при возникновении иерархии масштабов времени. Это принцип самоупрощения системы т.
78988. Социологический дискурс научного знания. Институциональные формы научной деятельности: история и перспективы развития 80 KB
  В конгломерате объединенном общим наименованием социология сосуществуют наука и идеология логика и риторика высокая абстракция и житейский опыт. Одни социологии основаны на умении убеждать и агитировать другие стремятся доказывать свои истины третьи ставят единственной целью сбор и обобщение данных. Джонатан Тернер вероятно высказался слишком безоговорочно когда предположил что социологическая теория представляет собой словесный...
78989. Научное сообщество, его типология и историческая эволюция. Научная школа как информациогенная среда. Особенности научного сообщества в постиндустриальную эпоху 49.5 KB
  Исторические типы научных сообществ: Философские школы школа Эпикура – Сад школа Аристотеля – Лицей школа Платона – Академия Стоики Александрийская школа – сосредоточены все виды наук; богословские школы монастырские школы; республика ученых начало XVII века научные сообщества эпохи дисциплинарно – организационной науки XVIII – XIX в.; междисциплинарные сообщества деятелей науки XX век; научные школы сообщества единомышленников в решении одних и тех же проблем; научные направления; научные коллективы...
78990. Культурологический дискурс науки. Гуманитарные аспекты развития научного знания. Научная рациональность и проблема диалога культур 39 KB
  Научная рациональность и проблема диалога культур Наука является одной из определяющих особенностей современной культуры и возможно самым динамичным ее компонентом. Научная рациональность один из типов рациональности как таковой. Рациональность от лат. Научная рациональность абсолютизирует роль логикометодологических процедур в познании отделяет познавательные акты от ценностных ориентаций сознания и в целом любых проявлений человеческой неразумности иррациональности.
78991. Этические аспекты научной деятельности. Понятие научного этоса и проблема его современного расширения 28.5 KB
  Этика науки изучает нравственные основы научной деятельности совокупность ценностных принципов принятых в научном сообществе и концентрирует в себе социальный и гуманистический аспекты науки. Этические проблемы современной науки являются чрезвычайно актуальными и значимыми. На страже этических принципов стоит институт ссылок как академическая составляющая науки. Этос науки – правило деятельности ученого отвечает следующим требованиям: 1 универсализм неличностный характер научного знания его объективность деятельность в области...
78992. Аксиологические проблемы научной деятельности. Научные ценности в их соотношении с социальными. Проблема идеологизированной науки 35.5 KB
  Проблема идеологизированной науки. Оно должно исключать ценностные аспекты характерно для классической и неклассической науки. Весь XX век в философии науки шла дискуссия о роли ценностей в науке: являются ли они необходимой движущей силой для развития науки или условием успешной деятельности ученых служит их освобождение от всех возможных ценностных ориентиров Возможно ли полностью исключить из суждений о фактах ценностные предпочтения и познать объект как таковой сам по себе Необходимо ли и возможно ли противопоставление фактичности...
78993. Эстетические аспекты научной деятельности, их функция и роль в формировании идеала науки. Наука и искусство в их соотношении 19.76 KB
  Наука и искусство в их соотношении. В современной философской литературе понятия эстетики отнесены главным образом к искусству – эстетическое содержание научного творчества и других видов человеческой деятельности не связанных с искусством практически не рассматривается. В 1931 голу была опубликована книга моего отца – драматурга и искусствоведа В. Наука сближается с искусством то есть с эстетикой и высшее эстетическое значение имеет простая и ясная картина мира.
78994. Космологический дискурс научного знания. Наука как часть ноосферы. Проблемы современной экологической этики 23.12 KB
  Понятие экологической этики Подъем этики окружающей среды был в первый День Земли в 1970 году когда сторонники защиты окружающей среды вынудили философов которые работали в области окружающей среды сгруппироваться чтобы сделать некоторые замечания об этике окружающей среды. Дискуссия началась в 1974 когда австралиец именуемый John Pssmore опубликовал книгу пол названием Ответственность человека за природу: экологические проблемы и западные традиции в которой он аргументировал точку зрения что сохранение окружающей среды и ее...
78995. Наука в контексте традиционалистского и техногенного цивилизационного развития. Футурологические аспекты научного знания 16.91 KB
  Понятие цивилизации впервые возникло в 18 веке во Франции для обозначения общества в котором господствует свобода равенство и братство. Традиционные цивилизации. Техногенные цивилизации. Особенности техногенной цивилизации: Ориентация на совершенствование техники производства.