在更新ID或者有人試圖刪除一個類別時,在MySQL中使用關係會派上用場。但有沒有簡單的方法來做一個SELECT查詢,而不使用JOIN?從關係數據庫中選擇
JOIN易於使用,但是在執行SELECT時不能使用關係嗎?我可以做一個沒有關係的JOIN!
是否僅使用關係,以便我可以控制ID字段上的操作?
在更新ID或者有人試圖刪除一個類別時,在MySQL中使用關係會派上用場。但有沒有簡單的方法來做一個SELECT查詢,而不使用JOIN?從關係數據庫中選擇
JOIN易於使用,但是在執行SELECT時不能使用關係嗎?我可以做一個沒有關係的JOIN!
是否僅使用關係,以便我可以控制ID字段上的操作?
創建數據庫(特定於外鍵)的約束用於維護參照完整性,以防止意外刪除其他行引用的行。
限制條件不提供任何方式使用自動連接的表執行SELECT
。因此 - NO
,您需要明確指定所有JOIN
。並且YES
,JOIN
不依賴於現有約束:您可以將它用於任何表,任何字段並編寫任何條件,而不管它們是否通過外鍵關係相互引用。
是的,你可以 - 通過子查詢。
SELECT *
FROM A
WHERE A.ID IN
(SELECT B.Id FROM B)
- 在這個例子中,你基本上正在做一個INNER JOIN。
和關係用於參照完整性。頂部的例子中沒有保證B.Id與A.Id有任何關係。如果您的數據庫密鑰相互關聯,那麼可以保證表中的表必須存在表B
中存在的行中的記錄。
但是這可以做到沒有關係? – hogni89
您正在定義關係。 –
很酷。有點我正在尋找的答案:) – hogni89