我有一个包含客户信息、订单等的数据库。我需要运行一个查询来返回所有未下订单的客户。
相关表:登录和订单
相关列:login.loginID、login.loginFirstName、login.loginLastName、login.loginEmailAddress 和orders.OrderuserID
所以本质上 - 在伪代码中:比较表登录,列登录ID以匹配订单表中的orders.OrderUserID。如果不存在匹配项(如未下订单),则输出用户的名字、姓氏和电子邮件地址。
我绞尽脑汁,但在语言方面遇到了一些真正的问题。在 SQL 方面,我是个 N00B。
最佳答案
基本上它看起来像这样:
SELECT l.login_id
FROM login l
LEFT JOIN orders o
ON l.login_id = o.login_id
WHERE o.login_id IS NULL
关键是使用 LEFT JOIN 和 WHERE ... IS NULL 条件。换句话说,您专门查找 login
表中在 orders
表中没有任何“扩展”信息的行。
这只是一般描述,但我希望它对您构建特定于您的案例的大型查询的过程有所帮助。 )
关于mysql - 需要帮助编写 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11053341/