選擇Competencia Funcions: -
SELECT c.*, f.* --
FROM Competencia c
LEFT JOIN CompetenciaFuncion cf ON cf.CompetenciaId = c.CompetenciaId
LEFT JOIN Funcion f ON f.FuncionId = cf.FuncionId
WHERE {......insert additional conditions..... }
選擇Competencia Nivels: -
SELECT c.*, n.* --
FROM Competencia c
LEFT JOIN CompetenciaNivel cn ON cn.CompetenciaId = c.CompetenciaId
LEFT JOIN Nivel n ON n.NivelId = cn.NivelId
WHERE {......insert additional conditions..... }
LEFT JOIN的確保所有從competencia表的詳細返回,並從什麼Funcion/Nivel表。注意:大多數時候你想要在網格(或類似的)中顯示結果,那麼SELECT中的c.*
部分將被c.CompetenciaId所取代,這樣你就可以得到密鑰,但不要重複不必要的競爭表。
如果這些查詢一遍又一遍地使用,這些查詢也可以構成VIEWs的基礎。
僅基於表結構和解釋提供的表結構很好,適用於大多數情況。 – 2014-09-24 06:04:58