..


ลิงก์ผู้สนับสนุน

ตรงข้ามของการเข้าร่วมภายในหรือเพื่อขอรับระเบียนที่ไม่ตรงกัน

บทความที่เขียนโดย Max Bossi

รู้ว่าสิ่งที่มีความรู้ใน SQL เป็นผู้ที่เข้าร่วม ในคู่มือและบทความอื่น ๆ ของเราที่เราอธิบายวิธีการเข้าร่วมและวิธีการที่คุณสามารถสร้างความสัมพันธ์ระหว่างตารางที่แตกต่างกันในฐานข้อมูล

ความต้องการที่พบมากที่สุดคือความพึงพอใจโดยตราสารที่เข้าร่วมในการพบกับระหว่างสองตารางซึ่งในกรณีนี้ช่วยในส่วนคำสั่ง JOIN ภายในที่แม่นยำและผลตอบแทนที่ตั้งอยู่ในเขตข้อมูลที่ตอบสนองการติดต่อขอภายในสองหรือมากกว่าสองตารางที่เกี่ยวข้อง ในการรวม

มากน้อยง่ายที่จะขัดต้องระบุเขตข้อมูลที่ไม่ได้มีการแข่งขันภายในเข้าร่วมคือ

ลองมาตัวอย่างเช่น
สมมติว่าคุณต้องการในการจัดการฐานข้อมูลของ e - commerce ประกอบด้วยเพียงสองตาราง :

  • ลูกค้า (ที่มีข้อมูลหลักของลูกค้า)
  • คำสั่ง (ที่มีการสั่งซื้อโดยลูกค้า)
ตอนนี้สมมติว่าคุณต้องการที่จะแยกทั้งสองรายการที่แตกต่างกันของลูกค้า : 1) รายการของลูกค้าที่มีอยู่แล้วคำสั่ง, 2) รายการของลูกค้าที่ยังไม่ได้ซื้ออะไรที่ยังเป็น

เพื่อตอบสนองความต้องการแรกของหลักสูตรค่อนข้างง่าย :

 



 SELECT CUSTOMER.FIRST, CUSTOMER.LAST







 จากลูกค้า







 สั่งซื้อ INNER JOIN







 ON = clienti.id ordini.id_cliente







 ORDER BY ASC CUSTOMER.LAST

 
และเพื่อให้ห่างไกลไม่มีปัญหา

แต่วิธีการที่เราสามารถทำเพื่อย้อนกลับผลหรือไม่ ดี ... ครั้งแรกไม่ได้ใช้ JOIN INNER แต่ซ้ายที่เข้าร่วมการแข่งขันเพื่อค้นหาเต็มรูปแบบ แต่ไม่บางส่วนที่ แต่ผลที่ได้จากตารางด้านซ้ายจะถูกส่งกลับอยู่แล้ว
โดยไม่ต้องนี้เราจะมอง (โดยใช้คำสั่ง WHERE) บันทึกจะหายไป (คือไม่ได้พบในรายงาน) ระบุแล้วเป็น NULL (ใน SQL NULL จะถูกกำหนดเป็นชนิดของค่า"พิเศษ"ที่ระบุกรณีที่ไม่มีค่า .. )

ลองดูรหัส :

 



 SELECT CUSTOMER.FIRST, CUSTOMER.LAST







 จากลูกค้า







 LEFT JOIN สั่งซื้อสินค้า







 ON = clienti.id ordini.id_cliente







 WHERE IS NULL ordini.id_cliente







 ORDER BY ASC CUSTOMER.LAST

 
ผลที่ได้คือในความเป็นจริงรายชื่อของลูกค้าของเราที่ไม่เคยซื้ออะไร

ในประเภทเดียวกัน ...
E - Learning
MS Access (Advanced) MS Access (Advanced)
เรียนรู้วิธีสร้างและจัดการฐานข้อมูลอย่างรวดเร็วและง่ายดาย เริ่มต้นจาก 29 €
MySQL (Course) MySQL (Course)
การบริหารจัดการฐานข้อมูลโอเพนซอร์ส จาก 39 €
SQL และฐานข้อมูล (หลักสูตร) SQL และฐานข้อมูล (หลักสูตร)
การสร้างและจัดการฐานข้อมูลเชิงสัมพันธ์ จาก 39 €
ลิงก์ผู้สนับสนุน