本篇文章主要介绍了"SQL SERVER 自连接、外连接",主要涉及到SQL Server方面的内容,对于SqlServer感兴趣的同学可以参考一下:
在数据库test2中新建表fruits、suppliers,并插入几组数据:USE test2
GO
BEGIN TRY DROPTABLE fruits EN...
在数据库test2中新建表fruits、suppliers,并插入几组数据:
USE test2
GO
BEGIN TRY DROPTABLE fruits END TRY BEGIN CATCH END CATCH;BEGIN TRY DROPTABLE suppliers END TRY BEGIN CATCH END CATCH;CREATETABLE fruits
(
f_id INTidentityPRIMARYKEYNOTNULL,
f_name VARCHAR(24) NULL,
f_pricce FLOATDEFAULT(0.0)
)
CREATETABLE suppliers
(
s_id INTidentityPRIMARYKEY,
s_name VARCHAR(32) NULL,
s_city VARCHAR(32) NULL
)
GOINSERTINTO fruits VALUES('a',1.0),('b',2.0),(NULL,3),('d',4),('e',4);INSERTINTO suppliers VALUES('a','aa'),('b','bb'),('c','cc'),('d',NULL);

在上面创建的数据中进行操作:
--内连接:SELECT f.f_id,s.s_id,s.s_name
FROM fruits AS f INNERJOIN 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值为NULLSELECT fruits.f_id,suppliers.s_city
FROM fruits LEFTOUTERJOIN suppliers
ON fruits.f_id=suppliers.s_id;

--右外连接:与左外连接相反SELECT fruits.f_id,suppliers.s_city
FROM fruits RIGHTOUTERJOIN suppliers
ON fruits.f_id=suppliers.s_id;

--全外连接:条件匹配时返回数据,不匹配时相应的列中填入NULL值;SELECT fruits.f_name,suppliers.s_city
FROM fruits FULLOUTERJOIN suppliers
ON fruits.f_id=suppliers.s_id;

').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('
').text(i));
};
$numbering.fadeIn(1700);
});
});
以上就介绍了SQL SERVER 自连接、外连接,包括了SQL Server方面的内容,希望对SqlServer有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_1266759.html