კავშირის შეკვეთა შეკითხვის სინტაქსით/განცხადების გამოყენებით MySQL მონაცემთა ბაზაში

MySQL მონაცემთა ბაზის UNION ORDER BY მოთხოვნის სინტაქსის/ოპერაციის გამოყენება

MySQL UNION ოპერატორი

ეს გაკვეთილი გაგაცნობთ MySQL UNION ოპერატორის სინტაქსს და მაგალითებს.

აღწერა

MySQL UNION ოპერატორი გამოიყენება ორი ან მეტი SELECT განცხადების შედეგების გაერთიანების შედეგების ერთ ნაკრებში.მრავალი SELECT განცხადება წაშლის დუბლიკატულ მონაცემებს.

გრამატიკა

MySQL UNION ოპერატორის სინტაქსის ფორმატი:

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

参数

  • გამოხატულება1, გამოხატულება2, ... გამოხატვა_ნ: დასაბრუნებელი სვეტი.
  • მაგიდები: მონაცემთა ცხრილი ამოსაღებად.
  • WHERE პირობები: სურვილისამებრ, ძებნის კრიტერიუმები.
  • განსხვავებული: სურვილისამებრ, ამოიღეთ დუბლიკატი მონაცემები შედეგების ნაკრებიდან.UNION ოპერატორს ნაგულისხმევად აქვს მონაცემების დუბლიკატი, ამიტომ DISTINCT მოდიფიკატორი არ მოქმედებს შედეგზე.
  • ყველა: სურვილისამებრ, აბრუნებს ყველა შედეგის კომპლექტს, დუბლიკატების ჩათვლით.

დემო მონაცემთა ბაზა

ამ სახელმძღვანელოში ჩვენ გამოვიყენებთ chenweiliang-ის ნიმუშის მონაცემთა ბაზას.

აქ არის მონაცემები "საიტებზე" ცხრილიდან:

mysql> SELECT * FROM Websites;
+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 陈沩亮博客      | http://www.chenweiliang.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+

აქ არის მონაცემები "აპლიკაციების" აპისთვის:

mysql> SELECT * FROM apps;
+----+------------+-------------------------+---------+
| id | app_name   | url                     | country |
+----+------------+-------------------------+---------+
|  1 | QQ APP     | http://im.qq.com/       | CN      |
|  2 | 微博 APP | http://weibo.com/       | CN      |
|  3 | 淘宝 APP | https://www.taobao.com/ | CN      |
+----+------------+-------------------------+---------+
3 rows in set (0.00 sec)

 


SQL UNION მაგალითი

შემდეგი SQL ოპერატორი ირჩევს ყველა განსხვავებულ ქვეყანას (მხოლოდ განსხვავებულ მნიშვნელობებს) „ვებსაიტების“ და „აპლიკაციების“ ცხრილებიდან :

მაგალითი

SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
 
注释:UNION არ შეიძლება გამოყენებულ იქნას ორივე ცხრილში ყველა ქვეყნის ჩამოსათვლელად.თუ ზოგიერთი ვებსაიტი და აპი ერთი და იმავე ქვეყნიდანაა, თითოეული ქვეყანა მხოლოდ ერთხელ იქნება ჩამოთვლილი. UNION უბრალოდ ირჩევს განსხვავებულ ღირებულებებს.გთხოვთ, გამოიყენოთ UNION ALL დუბლიკატი მნიშვნელობების შესარჩევად!

SQL UNION ALL ინსტანცია

შემდეგი SQL ოპერატორი იყენებს UNION ALL-ს "Websites" და "apps" ცხრილებიდან ყველა ქვეყნის (დუბლიკატი მნიშვნელობების ჩათვლით) შესარჩევად:

მაგალითი

SELECT country FROM Websites
UNION ALL
SELECT country FROM apps
ORDER BY country;

 


SQL UNION ALL WHERE-ით

შემდეგი SQL ოპერატორი იყენებს UNION ALL-ს ჩინეთის (CN) ყველა მონაცემის შესარჩევად "Websites" და "apps" ცხრილებიდან (დუბლიკატი მნიშვნელობების ჩათვლით):

მაგალითი

SELECT country, name FROM Websites
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;

იმედია, ჩენ ვეილიანგის ბლოგზე ( https://www.chenweiliang.com/ ) გამოქვეყნებული სტატია „შეკითხვის სინტაქსის/განცხადების გამოყენების მიხედვით გაერთიანების თანმიმდევრობა MySQL მონაცემთა ბაზაში“ თქვენთვის სასარგებლო იქნება.

თავისუფლად გაგვიზიარეთ ამ სტატიის ბმული: https://www.chenweiliang.com/cwl-475.html

მეტი ფარული ხრიკის გასახსნელად🔑, კეთილი იყოს თქვენი მობრძანება ჩვენს Telegram არხზე!

გააზიარეთ და მოიწონეთ თუ მოგეწონათ! თქვენი გაზიარებები და მოწონებები ჩვენი მუდმივი მოტივაციაა!

 

评论

您的邮箱地址不会被公开。必填项已用*标注

გადაახვიეთ ზემოთ