Latest web development tutorials

SQL FULL OUTER JOIN คำหลัก

SQL FULL OUTER JOIN คำหลัก

OUTER JOIN เต็มคำหลักตราบใดที่ตารางด้านซ้าย (table1) และตารางขวา (Table2) หนึ่งของตารางมีการแข่งขันก็จะส่งกลับแถว

OUTER JOIN เต็มคำหลักรวมกับ LEFT JOIN และขวา JOIN ผล

SQL FULL OUTER JOIN ไวยากรณ์

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name ;

SQL FULL OUTER JOIN



ฐานข้อมูลการสาธิต

ในการกวดวิชานี้เราจะใช้ฐานข้อมูลตัวอย่าง w3big

ต่อไปนี้เป็นที่เลือก "เว็บไซต์" ข้อมูลตาราง:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 本教程      | http://www.w3big.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+

นี่คือข้อมูล "access_log" ตารางการเข้าถึงบันทึกเว็บไซต์:

+-----+---------+-------+------------+
| aid | site_id | count | date       |
+-----+---------+-------+------------+
|   1 |       1 |    45 | 2016-05-10 |
|   2 |       3 |   100 | 2016-05-13 |
|   3 |       1 |   230 | 2016-05-14 |
|   4 |       2 |    10 | 2016-05-14 |
|   5 |       5 |   205 | 2016-05-14 |
|   6 |       4 |    13 | 2016-05-15 |
|   7 |       3 |   220 | 2016-05-15 |
|   8 |       5 |   545 | 2016-05-16 |
|   9 |       3 |   201 | 2016-05-17 |
+-----+---------+-------+------------+
9 rows in set (0.00 sec)

SQL FULL OUTER JOIN ตัวอย่าง

คำสั่ง SQL ต่อไปนี้เลือกระเบียนทั้งหมดเข้าถึงเว็บไซต์

MySQL ไม่สนับสนุน OUTER JOIN เต็มคุณสามารถทดสอบตัวอย่างต่อไปนี้ใน SQL Server

ตัวอย่าง

SELECT Websites.name, access_log.count, access_log.date
จากเว็บไซต์
FULL OUTER JOIN access_log
ON Websites.id = access_log.site_id
ORDER BY access_log.count DESC;

หมายเหตุ: OUTER JOIN เต็มคำหลักผลตอบแทนทางด้านซ้าย (เว็บไซต์) และตารางขวา (access_log) ในแถวทั้งหมด ถ้าไม่มีการแข่งขัน "เว็บไซต์" แถวของตาราง "access_log" หรือ "access_log" แถวของตาราง "เว็บไซต์" ตารางไม่ตรงยังระบุเส้นเหล่านี้