[英]MySQL How to Get Query To Display Seminars With No Customers Attending
我是SQL的新手,正尝试在MySQL中为已创建的数据库编写查询。 该查询旨在显示所主持的每个研讨会以及参加该研讨会的每个客户的信息。 该查询还用于显示没有人参加的研讨会。 我将如何做到这一点? 感谢您提前提供的帮助。
SELECT sem.SeminarID, sem.SeminarDate, sem.Location, sem.SeminarTitle, cust.CustomerID, cust.LastName, cust.FirstName
FROM seminar AS sem JOIN
seminar_customer as SC on sem.SeminarID = SC.SeminarID JOIN
customer AS cust on SC.CustomerID = cust.CustomerID
ORDER BY SeminarID;
您需要一个“外部联接”,以允许返回研讨会表的某些行,而该行在workshop_customer表中没有匹配的行。
按照您的查询布局方式,“ courses_customer”位于“左侧”,因此请使用“ LEFT OUTER JOIN”
SELECT sem.SeminarID, sem.SeminarDate, sem.Location, sem.SeminarTitle, cust.CustomerID, cust.LastName, cust.FirstName FROM seminar AS sem LEFT OUTER JOIN seminar_customer as SC on sem.SeminarID = SC.SeminarID LEFT OUTER JOIN customer AS cust on SC.CustomerID = cust.CustomerID ORDER BY SeminarID;
请参阅: SQL连接的直观说明
您可以在那些联接中省略“ OUTER”一词,因此通常您只会看到“ LEFT JOIN”,但是它们是相同的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.