SQL SERVER 自連線、外連線
在資料庫test2中新建表fruits、suppliers,並插入幾組資料:
USE test2
GO
BEGIN TRY DROP TABLE fruits END TRY BEGIN CATCH END CATCH;
BEGIN TRY DROP TABLE suppliers END TRY BEGIN CATCH END CATCH;
CREATE TABLE fruits
(
f_id INT identity PRIMARY KEY NOT NULL,
f_name VARCHAR(24) NULL,
f_pricce FLOAT DEFAULT(0.0)
)
CREATE TABLE suppliers
(
s_id INT identity PRIMARY KEY,
s_name VARCHAR(32) NULL,
s_city VARCHAR(32) NULL
)
GO
INSERT INTO fruits VALUES('a',1.0),('b',2.0),(NULL,3),('d',4),('e',4);
INSERT INTO suppliers VALUES('a','aa'),('b','bb'),('c','cc'),('d',NULL);
在上面建立的資料中進行操作:
--內連線:
SELECT f.f_id,s.s_id,s.s_name
FROM fruits AS f INNER JOIN suppliers AS s
ON f.f_id=s.s_id and f.f_id=1;
--自連線:
SELECT f1.f_id,f2.f_name
FROM fruits AS f1,fruits AS f2
WHERE f1.f_id=f2.f_id AND f1.f_id=1;
--左外連線:
---fruits表中的資料f_id都會顯示,suppliers表中沒有匹配的s_id時,x_city值為NULL
SELECT fruits.f_id,suppliers.s_city
FROM fruits LEFT OUTER JOIN suppliers
ON fruits.f_id=suppliers.s_id;
--右外連線:與左外連線相反
SELECT fruits.f_id,suppliers.s_city
FROM fruits RIGHT OUTER JOIN suppliers
ON fruits.f_id=suppliers.s_id;
--全外連線:條件匹配時返回資料,不匹配時相應的列中填入NULL值;
SELECT fruits.f_name,suppliers.s_city
FROM fruits FULL OUTER JOIN suppliers
ON fruits.f_id=suppliers.s_id;
相關文章
- SQL Server連線SQL Server、SQL Server連線ORACLE 連結伺服器SQLServerOracle伺服器
- SQL Server中內連線和外連線的區別SQLServer
- SQL的四種連線:內連線 左外連線 右外連線 全連線SQL
- 【SQL】Oracle的內連線、左外連線、右外連線及全外連線SQLOracle
- sql 內連線和外連線SQL
- 連線SQL ServerSQLServer
- 例項解析外連線 內連線 自連線 全連線
- 深入理解SQL的四種連線-左外連線、右外連線、內連線、全連線SQL
- SQL Deverlop連線SQL ServerSQLdevServer
- .NET連線SQL ServerSQLServer
- sql內連結,外連線SQL
- Oracle 表連線方式詳解(外連結、內連線、自連線)Oracle
- Oracle內連線、外連線、右外連線、全外連線小總結Oracle
- Perl 連線 SQL Server (轉)SQLServer
- 遠端連線SQL ServerSQLServer
- python 怎麼連線 sql server,不是連線 mysqlPythonServerMySql
- 內連線、外連線
- 你真的會玩SQL嗎?內連線、外連線SQL
- SQL Server linked server 連線OracleSQLServerOracle
- oracle sql內連線_左(右)連線_全外連線_幾種寫法OracleSQL
- Oracle左外連線、右外連線、完全外連線以及(+)號用法Oracle
- Oracle 左外連線、右外連線、全外連線小總結Oracle
- NavicatPremium 連線SQL Server 、MySQL等REMServerMySql
- SQL Server連線不上原因SQLServer
- 3.DQL資料查詢語言(內連線,外連線,自連線)
- 【SQL】表連線 --半連線SQL
- SQL Server如何判斷哪些會話/連線是長連線?SQLServer會話
- MYSQL語法:左連線、右連線、內連線、全外連線MySql
- MYSQL學習筆記23: 多表查詢(自連線內連線+左右外連線)MySql筆記
- 外連線與連線順序
- 內連線、外連線總結
- sql和hql中join語句區別,以及hibernate中內連線,迫切內連線,左外連線,迫切左外連線,右外連線的區別(合集)...SQL
- MySQL筆記3——內連線/外連線、多表連線MySql筆記
- Windows 下 Laravel 7.0 連線 sql serverWindowsLaravelSQLServer
- Sql Server系列:多表連線查詢SQLServer
- PowerShell連線 SQL Server 2005SQLServer
- 連線SQL SERVER的公共類 (轉)SQLServer
- T-SQL學習中–內聯接,外連線,交叉連線SQL