ترتیب اتحاد بر اساس نحو پرس و جو / استفاده از بیانیه در پایگاه داده MySQL

نحوه‌ی استفاده از دستور/نحوه‌ی پرس‌وجوی UNION ORDER BY در پایگاه داده‌ی MySQL

خروجی اپراتور اتحادیه

این آموزش شما را با سینتکس و نمونه هایی از عملگر 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];

参数

  • express1, express2, ... express_n: ستونی برای بازیابی.
  • جداول: جدول داده برای بازیابی
  • شرایط 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 زیر تمام کشورهای متمایز (فقط مقادیر متمایز) را از جداول "Websites" و "apps" انتخاب می‌کند:

نمونه، مثال

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;

امیدوارم مقاله "استفاده از دستور/دستورالعمل‌های ترتیبی در پایگاه داده MySQL" که در وبلاگ چن ویلیانگ ( https://www.chenweiliang.com/ ) به اشتراک گذاشته شده است، برای شما مفید باشد.

لینک این مقاله را به اشتراک بگذارید: https://www.chenweiliang.com/cwl-475.html

برای کشف ترفندهای مخفی بیشتر🔑، به کانال تلگرام ما بپیوندید!

اگر دوست داشتید به اشتراک بگذارید و لایک کنید! اشتراک گذاری ها و لایک های شما انگیزه ادامه دار ماست!

 

发表 评论

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

رفته به بالا