Файл: Апаратты жйе шін наты Мбж ортасында sql тілінде сраныстар ру.pptx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.11.2023

Просмотров: 31

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Ақпараттық жүйе үшін нақты МҚБЖ ортасында SQL тілінде сұраныстар құру

Деректерді топтау барлық деректерді логикалық жиынтықтарға бөлуге мүмкіндік береді, бұл әр топта статистикалық есептеулерді жеке жүргізуге мүмкіндік береді.

SELECT Product, SUM(Quantity) AS Product_num

 FROM Sumproduct GROUP BY Product

Осы өтініммен біз ай сайын сатылатын өнімдердің саны туралы ақпарат алдық.

Топтау және сұрыптау

SELECT Product,SUM(Quantity) AS Product_num FROM  Sumproduct GROUP BY Product HAVINGSUM (Quantity) > 3000  ORDER BY SUM(Quantity)

немесе өріс нөмірін ретпен көрсетіңіз, ол бойынша біз сұрыптағымыз келеді:

SELECT Product, SUM(Quantity) AS Product_num FROM Sumproduct GROUP BY Product HAVINGSUM(Quantity)>3000 ORDER BY 2

Сүзгі топтары (HAVING)

Кестедегі жолдарды сүзген кезде біз топтастырылған деректерге сүзуге болады. Ол үшін SQL-де HAVING сөзі бар. Алдыңғы мысалды алайық және топтар бойынша сүзгілеуді қосамыз.

SELECT Product,SUM(Quantity) AS Product_num FROM  Sumproduct GROUP BY Product HAVINGSUM(Quantity)>4000

Біз сатылатын тауарлар санының әр өнімнің контекстінде есептелетінін көріп отырмыз, ДББЖ 4000-нан кем сатылған өнімдерді «қысқартады».

Кестелерді қосу (INNER JOIN)

SELECT DISTINCT Seller_name, Product FROM Sellers, Sumproduct WHERE Sellers.City = Sumproduct.City

Кеңейтілген кесте қосылады (OUTER JOIN)

Кестенің бүркеншік аттарын пайдалану

SELECT Seller_name, SUM(Amount) AS Sum1  FROM Sellers AS S, Sumproduct AS SP  WHERE S.City = SP.City  GROUP BY Seller_name

Өзін-өзі біріктіру

Бір елде Джон Смитпен сауда жасайтын сатушылардың мекен-жайын білу керек. Ол үшін келесі сұранысты жасаңыз:

SELECT City, Country, Seller_name FROM Sellers  WHERE 

Country = (SELECT Country FROM Sellers WHERE Seller_name = 'John Smith')

Сондай-ақ, біз келесі міндеттерді шешу арқылы өзін-өзі біріктіру арқылы шеше аламыз:

SELECT S1.Address, S1.City, S1.Country, S1.Seller_name  FROM Sellers AS S1, Sellers AS S2  WHERE S1.Country = S2.Country AND S2.Seller_name = 'John Smith'

Табиғи біріктіру

SELECT SP.*, S.Country  FROM Sumproduct AS SP, Sellers AS S  WHERE SP.City = S.City

Бұл мысалда метахарактер (*) тек бірінші кесте үшін пайдаланылады. Барлық басқа бағандар айқын көрсетіледі, сондықтан қайталанатын бағандар таңдалмайды.

Сыртқы біріктіру (OUTER JOIN)

SELECT Seller_name, SUM(Quantity) AS Qty FROM Sellers, Sumproduct WHERE Sellers.City *= Sumproduct.City

Толық сыртқы біріктіру (FULL OUTTER JOIN)

SELECT Seller_name, Product FROM Sellers FULL OUTER JOIN Sumproduct ON Sellers.City=Sumproduct.City

Бірлескен сұраулар (UNION)

SELECT * FROM Sumproduct LEFT JOIN Sellers ON Sumproduct.City = Sellers.City  UNION SELECT *  FROM Sumproduct RIGHT JOIN Sellers ON Sumproduct.City = Sellers.City

Ақпараттық жүйе үшін нақты МҚБЖ ортасында SQL тілінде сұраныстар құру

  • 1. Қосымшаның орындалу барысында мәліметтер жиынтығының өрісін қолдануға болады;
  • 2. Бірнеше кестеден өрістер немесе жазбалар алуға болады;
  • 3. Күрделі шарттар бойынша мәліметтер жиынтығының өрісін қолдануға болады;
  • 4. Мәліметтер жиынтығының кез-келген өрісі бойынша сұрыптауға болады;
  • 5. Мәліметтерді іздеуді ұйымдастыруға болады;

Деректерді топтау барлық деректерді логикалық жиынтықтарға бөлуге мүмкіндік береді, бұл әр топта статистикалық есептеулерді жеке жүргізуге мүмкіндік береді.

SELECT Product, SUM(Quantity) AS Product_num

 FROM Sumproduct GROUP BY Product

Осы өтініммен біз ай сайын сатылатын өнімдердің саны туралы ақпарат алдық.

Топтау және сұрыптау

Қалыпты деректерді іріктеу сияқты, топтарды HAVING мәлімдемесі бойынша сұрыптауға болады. Бұл үшін біз білетін ORDER BY операторын пайдалана аламыз. Бұл жағдайда оның қолданылуы алдыңғы мысалдарға ұқсас. Мысалыға:

SELECT Product,SUM(Quantity) AS Product_num FROM  Sumproduct GROUP BY Product HAVINGSUM (Quantity) > 3000  ORDER BY SUM(Quantity)

немесе өріс нөмірін ретпен көрсетіңіз, ол бойынша біз сұрыптағымыз келеді:

SELECT Product, SUM(Quantity) AS Product_num FROM Sumproduct GROUP BY Product HAVINGSUM(Quantity)>3000 ORDER BY 2

Сүзгі топтары (HAVING)

Кестедегі жолдарды сүзген кезде біз топтастырылған деректерге сүзуге болады. Ол үшін SQL-де HAVING сөзі бар. Алдыңғы мысалды алайық және топтар бойынша сүзгілеуді қосамыз.

SELECT Product,SUM(Quantity) AS Product_num FROM  Sumproduct GROUP BY Product HAVINGSUM(Quantity)>4000

Біз сатылатын тауарлар санының әр өнімнің контекстінде есептелетінін көріп отырмыз, ДББЖ 4000-нан кем сатылған өнімдерді «қысқартады».

Кестелерді қосу (INNER JOIN)

Кестелерді қосу өте қарапайым рәсім. Қауымдастық құрамына кіретін барлық кестелерді көрсетуіңіз керек және ДҚБЖ-ны «түсіндіру» керек, олар қалай байланыста болады. Кәсіподақ WHERE сөзін қолданады, мысалы:

SELECT DISTINCT Seller_name, Product FROM Sellers, Sumproduct WHERE Sellers.City = Sumproduct.City


Кеңейтілген кесте қосылады (OUTER JOIN)

Кестенің бүркеншік аттарын пайдалану

SELECT Seller_name, SUM(Amount) AS Sum1  FROM Sellers AS S, Sumproduct AS SP  WHERE S.City = SP.City  GROUP BY Seller_name

Әр сатушыға сатылған тауарлардың жалпы сомасын көрсеттік. Біздің SQL сұрауымызда біз осындай бүркеншік аттарды пайдаландық: SUM (Сома) есептеу өрісі үшін, Sellers кестесінің бүркеншік сомасы, S және Sumproduct үшін, бүркеншік SP. Кестенің бүркеншік аттарын ORDER BY, GROUP BY және т.б. сияқты басқа сөйлемдерге қолдануға болатынын ескеріңіз.

Өзін-өзі біріктіру

Бір елде Джон Смитпен сауда жасайтын сатушылардың мекен-жайын білу керек. Ол үшін келесі сұранысты жасаңыз:

SELECT City, Country, Seller_name FROM Sellers  WHERE 

Country = (SELECT Country FROM Sellers WHERE Seller_name = 'John Smith')

Сондай-ақ, біз келесі міндеттерді шешу арқылы өзін-өзі біріктіру арқылы шеше аламыз:

SELECT S1.Address, S1.City, S1.Country, S1.Seller_name  FROM Sellers AS S1, Sellers AS S2  WHERE S1.Country = S2.Country AND S2.Seller_name = 'John Smith'

Табиғи біріктіру

Табиғи біріктіру - қайталанбайтын тек бағандарды таңдаған бірлестік. Әдетте бұл бір кестеге арналған жазбаны (SELECT *) пайдаланып және қалған кестелер үшін өрістер тізімін көрсету арқылы жасалады. Мысалы:

SELECT SP.*, S.Country  FROM Sumproduct AS SP, Sellers AS S  WHERE SP.City = S.City

Бұл мысалда метахарактер (*) тек бірінші кесте үшін пайдаланылады. Барлық басқа бағандар айқын көрсетіледі, сондықтан қайталанатын бағандар таңдалмайды.

Сыртқы біріктіру (OUTER JOIN)

Кейбір ДББЖ, LEFT OUTER JOIN және RIGHT OUTER JOIN сәйкес келетін * = және = * белгілерін пайдаланып, оңайлатылған енгізуді пайдалану арқылы сыртқы біріктіруді жүзеге асыруға мүмкіндік береді. Осылайша, алдыңғы сұрау келесі түрде қайта жазылуы мүмкін:

SELECT Seller_name, SUM(Quantity) AS Qty FROM Sellers, Sumproduct WHERE Sellers.City *= Sumproduct.City

Толық сыртқы біріктіру (FULL OUTTER JOIN)

Сондай-ақ, сыртқы біріктірудің басқа түрі бар - бұл екі кестенің барлық жолдарын көрсететін және байланыстырылуы мүмкін ғана байланыстыратын толық сыртқы біріктіру. Толық сыртқы бірлестіктің синтаксисі:

SELECT Seller_name, Product FROM Sellers FULL OUTER JOIN Sumproduct ON Sellers.City=Sumproduct.City

Бірлескен сұраулар (UNION)

SQL тіліндегі сұраулар UNION операторы арқылы біріктіріледі. Мұны орындау үшін әрбір SELECT сұрауын көрсетуіңіз керек және олардың арасындағы UNION кілт сөзін орналастырыңыз. Бірыңғай сұрауда пайдаланылатын UNION операторларының саны туралы ешқандай шектеулер жоқ. Алдыңғы бөлімде біз Access-дың толық сыртқы біріктіруді жасай алмайтындығын атап көрсеттік, енді біз оны Оператор арқылы қалай жетуге болатынын көреміз.

SELECT * FROM Sumproduct LEFT JOIN Sellers ON Sumproduct.City = Sellers.City  UNION SELECT *  FROM Sumproduct RIGHT JOIN Sellers ON Sumproduct.City = Sellers.City