亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL?SERVER如何實現連接與合并查詢

發布時間:2022-02-24 13:38:15 來源:億速云 閱讀:283 作者:小新 欄目:開發技術

這篇文章主要介紹了SQL SERVER如何實現連接與合并查詢,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創建測試表MyStudentInfo

CREATE table MyStudentInfo
(
Id int not null primary key,
Name varchar(16),
Age int,
Gender varchar(2),
Phone varchar(16),
Address varchar(50),
GradeId int
)

聯合插入多條數據

INSERT INTO MyStudentInfo
SELECT 1,'張三',20,'1','15801258912','上海',1 UNION
SELECT 2,'李四',22,'1','12345678901','北京',1 UNION
SELECT 3,'王五',16,'1','13976891234','天津',2 UNION
SELECT 4,'趙六',19,'1','18676891234','重慶',3 UNION
SELECT 5,'小紅',21,'2','17776891234','廣州',4 UNION
SELECT 6,'小王',25,'2','13176891234','深圳',5 UNION
SELECT 7,'小劉',18,'2','13374591234','南京',6 UNION
SELECT 8,'小張',16,'1','13974596734','長沙',6 UNION
SELECT 9,'小羅',27,'1','13175122786','武漢',7 UNION
SELECT 10,'小袁',21,'2','17715872346','石家莊',8

創建測試表GradeInfo

CREATE table GradeInfo
(
Id int not null primary key,
GradeName varchar(16)
)

聯合插入多條數據

INSERT INTO GradeInfo
SELECT 1,'.NET' UNION
SELECT 2,'Android' UNION
SELECT 3,'PHP' UNION
SELECT 4,'UI' UNION
SELECT 5,'HTML5' UNION
SELECT 6,'JAVA' UNION
SELECT 9,'HADOOP' UNION
SELECT 10,'大數據'

內鏈接

內鏈接是從結果表中刪除其他被鏈接表中沒有匹配的所有行,所以我們說內鏈接可能丟失數據

SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeName
FROM MyStudentInfo s INNER JOIN GradeInfo g ON s.GradeId=g.Id

SQL?SERVER如何實現連接與合并查詢

外部鏈接

左外聯接,關鍵字LEFT JOIN

左外聯接,結果集中包括左表中的所有行,如果左表的某一行在右表中沒有匹配行,則在關聯的結果集行中,

來自右表的所有選擇列表均為NULL

SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeName
FROM MyStudentInfo s LEFT JOIN GradeInfo g ON s.GradeId=g.Id

SQL?SERVER如何實現連接與合并查詢

右外聯接

GIGHT JOIN進行聯接

是左外聯接的反向聯接,將返回右表的所有行,如果右表的某一行在左表中沒有匹配行,則將為左表返回NULL

SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeName
FROM MyStudentInfo s RIGHT JOIN GradeInfo g ON s.GradeId=g.Id

SQL?SERVER如何實現連接與合并查詢

完整外聯接

關鍵字是FULL JOIN

完整外聯接使用了FULL JOIN進行聯接,當某一行在另一表中沒有匹配行,另一表的選擇列表將返回NULL

SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeName
FROM MyStudentInfo s FULL JOIN GradeInfo g ON s.GradeId=g.Id

SQL?SERVER如何實現連接與合并查詢

交叉聯接(笛卡爾積)

CORSS JOIN 沒有where 也沒有on,返回行數是兩表行數的乘積

SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeName
FROM MyStudentInfo s CROSS JOIN GradeInfo g

SQL?SERVER如何實現連接與合并查詢

UNION:UNION操作符用于合并兩個或多個 SELECT 語句的結果集

UNION必須遵循

  • 1.兩個SELECT語句選擇列表中的列數目必須一樣,而且對應位置上的列的數據類型必須相同或者兼容,每條 SELECT 語句中的列的順序必須相同

  • 2.UNION 結果集中的列名總是等于 UNION 中第一個 SELECT 語句中的列名

  • 3.union默認自動去除重復行

  • 4.如果需要手動排序,order by語句必須加在最后一個select語句之后,但是他所使用的排序列名必須是第一個select選擇列表中的列名

SELECT Age,Name FROM MyStudentInfo
UNION
SELECT Id,GradeName FROM GradeInfo
ORDER BY Age DESC

SQL?SERVER如何實現連接與合并查詢

UNION ALL

  • 1.加上ALL關鍵字之后,功能就是不刪除重復行,也不對行進行自動排序

  • 2.如果希望把不同數據類型的字段合并查詢,必須進行類型轉換使其相對應的數據類型相同或者兼容

  • 3.當合并兩個表,列數不同時.只要向其中一個表源中添加列,就可以使其兩個表的列數相同

SELECT Age,Name,Address FROM MyStudentInfo
UNION ALL
SELECT Id,GradeName,NULL FROM GradeInfo
ORDER BY Age DESC

SQL?SERVER如何實現連接與合并查詢

UNION和聯接查詢有什么區別

  • 1.在合并中,兩個表的數量和數據類型必須相同 ; 在聯接中,一個表的行可能與另一個表的行有很大的區別

  • 2.在合并中,行的數量是兩個表行的"和" ; 在聯接中,行的最大數目是他們的"乘積"

感謝你能夠認真閱讀完這篇文章,希望小編分享的“SQL SERVER如何實現連接與合并查詢”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉田县| 夏邑县| 南陵县| 武乡县| 四川省| 佛山市| 五家渠市| 嵊州市| 安吉县| 明溪县| 安庆市| 房产| 耒阳市| 金山区| 赣榆县| 桑植县| 安达市| 衡山县| 山东| 连南| 微山县| 百色市| 得荣县| 虞城县| 砚山县| 扬中市| 和田市| 彩票| 天峻县| 桐梓县| 奉化市| 潜江市| 鄯善县| 安国市| 威海市| 商丘市| 江川县| 九龙县| 吉安市| 新建县| 玉环县|