作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人可以解释一下这个 MySQL 查询及其作用吗?
据我了解,它执行以下操作:
选择发票表中没有条目的invoices_charge
发票id
。这是正确的吗?
SELECT DISTINCT invoice_charges.invoiceid as invoice
FROM `invoice_charges`
LEFT JOIN `invoice`
ON invoice_charges.invoiceid = invoice.invoiceid
WHERE invoice.invoiceid IS NULL
关键字 DISTINCT 在此查询中是否有任何影响?以下查询是否是此查询的更好替代方案,可以实现相同的结果?
SELECT invoice_charges.invoiceid as invoice
FROM `invoice_charges`
WHERE invoice_charges.invoiceid NOT IN invoice.invoiceid
GROUP BY invoice_charges.invoiceid
最佳答案
此查询返回 invoice_charges
中与 invoice
不匹配的所有 invoiceid
。
据推测,这些都是外键关系失败的示例。
distinct
的目的是防止结果集中出现重复项。 invoice_charges
中可能有两条具有相同 invoiceid
的记录,其中 invoiceid
不在 invoice
表中。
关于MySQL 使用 Disitinct 进行选择,以及使用 is_null 在哪里进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23986587/
有人可以解释一下这个 MySQL 查询及其作用吗? 据我了解,它执行以下操作: 选择发票表中没有条目的invoices_charge发票id。这是正确的吗? SELECT DISTINCT invoi
我是一名优秀的程序员,十分优秀!