English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل PostgreSQL الأساسي

دليل PostgreSQL المتقدم

واجهة PostgreSQL

عمليات UNION PostgreSQL

استخدام عمودية UNION في PostgreSQL لدمج نتائج جملتين أو أكثر من SELECT.

استخدام عمودية UNION لدمج نتائج جملتين أو أكثر من SELECT.

يرجى الانتباه، يجب أن يكون كل جملة SELECT داخل UNION تحتوي على عدد متساوٍ من الأعمدة. يجب أن تكون الأعمدة أيضًا مشابهة في نوع البيانات. كما يجب أن يكون ترتيب الأعمدة في كل جملة SELECT متساوٍ.

النحو

UNIONS أساسيات الجملة التالية:

SELECT column1[, column2]
FROM table1[, table2]
[WHERE condition]
UNION
SELECT column1[, column2]
FROM table1[, table2]
[WHERE condition]

هذه الجملة الشرطية يمكن تكوينها بناءً على احتياجاتك بأي تعبير.

مثال على الإنترنت

创建 COMPANY 表(下载 COMPANY SQL 文件 ),数据内容如下:

w3codeboxdb# select * from COMPANY;
 id | name                 | age | address                 | salary
----+-------+-----+-----------+--------
  1 | Paul                 32 | California|                 20000
  2 | Allen |                 25 | Texas                 |                 15000
  3 | Teddy |                 23 | Norway                 |                 20000
  4 | Mark                 25 | Rich-Mond                 |                 65000
  5 | David |                 27 | Texas                 |                 85000
  6 | Kim                 22 | South-Hall|                 45000
  7 | James |                 24 | Houston                 |                 10000
(7 سجلات)

创建 DEPARTMENT 表(下载 DEPARTMENT SQL 文件 ),数据内容如下:

w3codeboxdb=# SELECT * from DEPARTMENT;
 id | dept                         | emp_id
----+-------------+--------
  1 | IT Billing                 1
  2 | Engineering |                         2
  3 | Finance | 7
  4 | Engineering | 3
  5 | Finance | 4
  6 | Engineering | 5
  7 | Finance | 6
(7 سجلات)

الآن، نستخدم عبارة UNION في جملة SELECT لنربط الجداول كما يلي:

SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT
   على COMPANY.ID = DEPARTMENT.EMP_ID
   UNION
SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT
    على COMPANY.ID = DEPARTMENT.EMP_ID;

حصلت النتائج كما يلي:

 emp_id | name | dept
--------+-------+--------------
      5 | David | الهندسة
      6 | Kim | المالية
      2 | Allen | الهندسة
      3 | Teddy | الهندسة
      4 | Mark | المالية
      1 | Paul | تكنولوجيا المعلومات الفواتير
      7 | James | المالية
(7 سجلات)

عبارة UNION ALL

عامل UNION ALL يمكن ربط جملتين SELECT تحتويان على سجلات مكررة، عادةً يتم اختيار القيم المختلفة. إذا كنت تسمح بالقيم المكررة، استخدم UNION ALL.

النحو

قاعدة النحو لعبارة UNION ALL هي:

SELECT column1[, column2]
FROM table1[, table2]
[WHERE condition]
UNION ALL
SELECT column1[, column2]
FROM table1[, table2]
[WHERE condition]

هذه الجملة الشرطية يمكن تكوينها بناءً على احتياجاتك بأي تعبير.

مثال على الإنترنت

الآن، دعونا نربط الجداول المذكورة أعلاه باستخدام جملة SELECT وعبارة UNION ALL:

SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT
   على COMPANY.ID = DEPARTMENT.EMP_ID
   UNION ALL
SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT
    على COMPANY.ID = DEPARTMENT.EMP_ID;

حصلت النتائج كما يلي:

 emp_id | name | dept
--------+-------+--------------
      1 | Paul | تكنولوجيا المعلومات الفواتير
      2 | Allen | الهندسة
      7 | James | المالية
      3 | Teddy | الهندسة
      4 | Mark | المالية
      5 | David | الهندسة
      6 | Kim | المالية
      1 | Paul | تكنولوجيا المعلومات الفواتير
      2 | Allen | الهندسة
      7 | James | المالية
      3 | Teddy | الهندسة
      4 | Mark | المالية
      5 | David | الهندسة
      6 | Kim | المالية
(14 أسطر)