回答
轉寄此爲NULL值,
的區別很簡單 - 在左外連接,所有行從「左「表格將顯示,無論」右「表中是否有任何匹配的列。在右外連接中,將顯示「右」表中的所有行,而不管「左」表中是否有任何匹配的列。請參閱共享網址中的示例。
請谷歌它,你可以找到你需要的。
來實現我想從左連接和右連接得到的相同結果。我的問題不是關於左/右連接的功能。我的疑問是,我可以通過交換表名實現左連接和右連接的相同結果,然後何時使用右/左 –
CREATE TABLE #Evaluation (ID int IDENTITY(1,1), EvalName varchar(30), EvalDate datetime)
CREATE TABLE #EvaluationDetails (ID int IDENTITY(1,1), EvalID int, Points decimal(22,6), Question varchar(100))
declare @Date datetime
set @Date = GETDATE()
INSERT INTO #Evaluation VALUES ('Specific question',@Date)
INSERT INTO #EvaluationDetails VALUES (1,10,'First question first evaluation')
INSERT INTO #EvaluationDetails VALUES (1,5,'SEcond question first evaluation')
INSERT INTO #EvaluationDetails VALUES (1,0,'Third question first evaluation')
INSERT INTO #EvaluationDetails VALUES (null,0,'First question therd evaluation')
SELECT * FROM #Evaluation e
join #EvaluationDetails ed on ed.EvalID = e.ID
SELECT * FROM #Evaluation e
left join #EvaluationDetails ed on ed.EvalID = e.ID
SELECT * FROM #Evaluation e
right join #EvaluationDetails ed on ed.EvalID = e.ID
DROP TABLE #Evaluation
DROP TABLE #EvaluationDetails
讓我們看看下面的例子。查詢的結果(加入/左/右)
因此,大家可以看到我們有2個評價其具有在其他表的細節。這是你想要得到的東西的一個變化。如果您有興趣獲得所有包含詳細信息(問題)的評估。你做一個簡單的加入。如果你想要得到所有的評估,即使那些沒有答案的人,你也需要在#Evaluation
和#EvaluationDetails
之間進行左連接。如果你想要得到所有的問題,甚至沒有評估的問題,你就做一個正確的加入。
這是加入工作的方式。當然,如果切換表並將#EvaluationDetails
與#Evaluation
連接,則也會切換連接,所以左連接變爲右連接,右連接變爲左連接。
@ CiucaS - 我的問題不是關於左/右連接的功能。我的疑問是,我可以通過交換表名,然後何時使用右/左 –
@BrijeshKumar來實現我想從左連接和右連接得到的相同結果我猜我唯一的區別是使用'SELECT * FROM'使用列將以表格添加到連接的方式顯示。因此,交換連接和表將導致不同的列顯示,並且可能會影響Order by子句(順序可以與1,2,3一起用作select的列編號)。 – CiucaS
- 1. 如何將第一個div浮動到左邊,第二個浮動到右邊?
- 2. QCustomPlot和iRangeDrag在第二個右邊yAxis
- 3. dt(浮動左邊)和第一個dd(浮動右邊)在同一行上
- 4. 如何在FlowLayout的左邊和右邊有一個組件
- 5. 需要一個正則表達式來替換左邊的右邊和右邊的左邊
- 6. 爲什麼我的右邊距在IE的左邊緣重疊?
- 7. 爲什麼float右邊出現在float左邊?
- 8. 從右表第一個值左連接?
- 9. 什麼在LINQ左側,等號右邊的區別加入
- 10. 左邊2個div 1右邊
- 11. 左邊是浮動右邊
- 12. 引導左邊兩排,一個在右邊
- 13. 左右邊距不一樣
- 14. 爲什麼我右邊框旁邊有一個右邊距?
- 15. 頁腳對齊一行左邊和另一個右邊頁面
- 16. Wpf Dock Dock左邊和Dock右邊
- 17. 對齊左邊中間和右邊
- 18. 在左邊移動一個div,在另一個div的右邊移動div
- 19. SQL服務器:加入所有左表和重複右
- 20. Flex按鈕,左邊一個顏色,右邊另一個顏色
- 21. 一個X軸,一個y軸的左邊,右邊
- 22. 爲什麼左右兩邊的負邊不起作用?
- 23. IE漸變實體在中間,褪色在左邊和右邊
- 24. C#Excel左右邊框
- 25. Css邊框適合左右
- 26. 高空傳說多重位置?第一個圖例左邊和第二個圖例右邊顯示在圖表中
- 27. 左加入到獲得列的總和在第二個表
- 28. HTML和CSS右邊的文本在左邊
- 29. android透明活動在左邊和右邊有保證金
- 30. jQuery的datatables:我想把一個數據表在左邊和一個div在右邊
您從「左側」表中獲取所有行,並且只在「左側連接」中匹配「右側」表中的行。這就是確切的意思,所以基本上,你想要哪個表的所有行? –
@ Lasse V. Karlsen-我的問題不是關於左/右連接的功能。我的疑問是,我可以通過交換表名,然後何時使用右/左 –