-5
A
回答
0
她的一些超級簡單的東西:
準備DB:
CREATE TABLE `table1` (
`id` int(11) NOT NULL DEFAULT 0,
`value` text not null DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
CREATE TABLE `table2` (
`id` int(11) NOT NULL DEFAULT 0,
`value` text not null DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
INSERT INTO table1 VALUES
(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four'), (5, 'five');
INSERT INTO table2 VALUES
(3, 'three'), (4, 'four'), (5, 'five'), (6, 'six'), (7, 'seven');
執行查詢:
SELECT t1.*, t2.* FROM table1 t1 JOIN table2 t2 on t1.id = t2.id;
SELECT t1.*, t2.* FROM table1 t1 INNER JOIN table2 t2 on t1.id = t2.id;
+----+-------+----+-------+
| id | value | id | value |
+----+-------+----+-------+
| 3 | three | 3 | three |
| 4 | four | 4 | four |
| 5 | five | 5 | five |
+----+-------+----+-------+
SELECT t1.*, t2.* FROM table1 t1 LEFT JOIN table2 t2 on t1.id = t2.id;
SELECT t1.*, t2.* FROM table1 t1 LEFT OUTER JOIN table2 t2 on t1.id = t2.id;
+----+-------+------+-------+
| id | value | id | value |
+----+-------+------+-------+
| 1 | one | NULL | NULL |
| 2 | two | NULL | NULL |
| 3 | three | 3 | three |
| 4 | four | 4 | four |
| 5 | five | 5 | five |
+----+-------+------+-------+
0
比方說,你有2個表:
ID Name
1 Smith
2 Novak
3 Tarantino
和第二表
ID Cash
2 300
3 490
4 500
INNER JOIN
將加入有匹配這兩個表中,即在結果表中只有ID
2和3將被包括在內,因爲它們具有匹配的記錄。 結果會是什麼樣子:
ID Name Cash
2 Novak 300
3 Tarantino 490
OUTER JOIN
,另一方面,將匹配一切,而不管它們是否具有匹配與否。如果記錄不匹配,那麼對應於某一行的值將是NULL
,即Smith將在Cash
列中具有NULL
列,並且在Cash
列中將對應於500的記錄列將在Name
列中具有NULL
列。 結果會是什麼樣子:
ID Name Cash
1 Smith NULL
2 Novak 300
3 Tarantino 490
4 NULL 500
相關問題
- 1. SQL內連接和外連接
- 2. 無法連接提供給iTunes連接
- 3. 提供內部連接結果的外部連接
- 4. oracle中的內連接和equi連接有什麼區別,下列哪個查詢可以提供高性能?
- 5. SQL連接和左外連接:爲什麼結果不同?
- 6. 內連接和外連接有什麼區別
- 7. 在SQL Server 2008中混合內連接和外連接
- 8. 什麼是Oracle中的實例連接和服務連接?
- 9. 內部和外部連接sql server有什麼區別
- 10. 比較內部連接和外部連接SQL語句
- 11. 爲什麼我可以連接到本地SQL Server Express,但不能連接到PHP的遠程SQL Server?
- 12. 爲什麼'x'有內部連接而不是外部連接?
- 13. 基本連接表和外鍵
- 14. 基本內連接 - 瞭解
- 15. 混合SQL內部和外部連接
- 16. php sql:內部連接是否可以右連接
- 17. 多表連接 - 我可以添加一個外連接嗎?
- 18. 爲什麼我需要左外連接如果我有正確的外連接?
- 19. 我的mySQL查詢有什麼問題?左連接/內連接
- 20. 爲什麼我的左連接表現爲內連接
- 21. 爲什麼BluetoothChat示例無法連接?
- 22. 連接sql server和asp.net的連接字符串是什麼?
- 23. 爲左外連接提供默認值
- 24. 爲什麼我可以在Scala中連接字符串和Int?
- 25. 爲什麼我的SQL連接計時?
- 26. 我的sql連接有什麼問題?
- 27. 左連接和左外連接有什麼區別?
- 28. SQL中外連接的* =和= *發生了什麼?
- 29. 左外連接被示出例外
- 30. MySQL中的基本3表內連接?
非常感謝您 –
請接受的答案,如果它符合你的要求,所以它不會需要從用戶和管理員的任何更多的關注。 –