繁体   English   中英

MySQL如何获取查询以显示没有客户参加的研讨会

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM