فهرست مقاله
نحوهی استفاده از دستور/نحوهی پرسوجوی 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;
نمونه 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
