是否可以通過單個SQL查詢來解決這個問題?有4個表:這可以通過單個SQL查詢來解決嗎?
- 書(ID,標題,東西)
- 頁(ID,book_id,東西)
- syntax_error(ID,PAGE_ID,固定的東西)(固定 - 布爾)
- lexical_error(ID,PAGE_ID,固定,東西)
的book
表具有與表page
一對多的關係。
單個page
可以含有syntax_error
或lexical_error
(在這個例子中,不可能有兩個錯誤對於一頁,和每個頁面只有一個錯誤),因此page
具有syntax_error
或lexical_error
一對一的關係。
我怎樣才能找到沒有錯誤的書? (我怎樣才能得到所有book.id
值沒有任何錯誤或任何非固定錯誤?)
通過使用一個SQL查詢。
我可能會使用這個,如果它WASN '噸MySQL,只是因爲我讀了mysql與'not exists()'相比,其他選擇很難。儘管如此,+1仍是一個很好的答案。 [不存在與不存在與左連接/是NULL:MySQL](https://explainextended.com/2009/09/18/not-in-vs-not-exists-vs-left-join-is- null-mysql /) – SqlZim
@SqlZim。 。 。我認爲'union all'排除了索引的使用,所以這可能比那個版本快得多。 –