SQL LEFT JOIN كلمة
SQL LEFT JOIN كلمة
LEFT JOIN الكلمة من الجدول الأيسر (TABLE1) إرجاع كافة الصفوف، حتى إذا كان هناك أي تطابق للجدول الأيمن (table2) في. إذا كان هناك أي تطابق في الجدول الصحيح، والنتيجة هي فارغة.
SQL LEFT JOIN في بناء الجملة
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name ;
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name ;
أو:
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name = table2.column_name ;
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name = table2.column_name ;
ملاحظة: في بعض قواعد البيانات، LEFT JOIN يسمى LEFT 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" الجدول الموقع سجل وصول:
mysql> SELECT * FROM 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 LEFT JOIN الأمثلة
سوف عبارة SQL التالية بإرجاع كافة المواقع وجهات نظرهم (إن وجدت).
الأمثلة التالية من المواقع الإلكترونية كما تركنا الجدول، access_log كما في الجدول المناسب:
أمثلة
SELECT Websites.name، access_log.count، access_log.date
من المواقع الإلكترونية
LEFT JOIN access_log
على Websites.id = access_log.site_id
ORDER BY DESC access_log.count.
من المواقع الإلكترونية
LEFT JOIN access_log
على Websites.id = access_log.site_id
ORDER BY DESC access_log.count.
تنفيذ SQL أعلاه نتائج الإخراج هي كما يلي:
ملاحظة: LEFT JOIN الكلمة من الجدول الأيسر (مواقع) إرجاع كافة الصفوف، حتى إذا كان هناك أي تطابق للجدول الأيمن (access_log) في.