欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQL SERVER實現(xiàn)連接與合并查詢

 更新時間:2022年02月24日 10:45:27   作者:.NET開發(fā)菜鳥  
本文詳細講解了SQL SERVER實現(xiàn)連接與合并查詢的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

創(chuàng)建測試表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
)

聯(lián)合插入多條數據

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

創(chuàng)建測試表GradeInfo

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

聯(lián)合插入多條數據

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

外部鏈接

左外聯(lián)接,關鍵字LEFT JOIN

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

來自右表的所有選擇列表均為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

右外聯(lián)接

GIGHT JOIN進行聯(lián)接

是左外聯(lián)接的反向聯(lián)接,將返回右表的所有行,如果右表的某一行在左表中沒有匹配行,則將為左表返回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

完整外聯(lián)接

關鍵字是FULL JOIN

完整外聯(lián)接使用了FULL JOIN進行聯(lián)接,當某一行在另一表中沒有匹配行,另一表的選擇列表將返回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

交叉聯(lián)接(笛卡爾積)

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

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

UNION ALL

  • 1.加上ALL關鍵字之后,功能就是不刪除重復行,也不對行進行自動排序
  • 2.如果希望把不同數據類型的字段合并查詢,必須進行類型轉換使其相對應的數據類型相同或者兼容
  • 3.當合并兩個表,列數不同時.只要向其中一個表源中添加列,就可以使其兩個表的列數相同
SELECT Age,Name,Address FROM MyStudentInfo
UNION ALL
SELECT Id,GradeName,NULL FROM GradeInfo
ORDER BY Age DESC

UNION和聯(lián)接查詢有什么區(qū)別

  • 1.在合并中,兩個表的數量和數據類型必須相同 ; 在聯(lián)接中,一個表的行可能與另一個表的行有很大的區(qū)別
  • 2.在合并中,行的數量是兩個表行的"和" ; 在聯(lián)接中,行的最大數目是他們的"乘積"

到此這篇關于SQL SERVER實現(xiàn)連接與合并查詢的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • SQL Server數據表壓縮

    SQL Server數據表壓縮

    本文詳細講解了SQL Server數據表壓縮,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • sql集合運算符使用方法

    sql集合運算符使用方法

    今天介紹數據庫里面的集合運算符,它是指匹配集合的每一個結果。數據庫集合運算符包括:IN、ANY、SOME、ALL以及EXISTS等
    2014-01-01
  • 恢復sql server 2000誤刪數據的解決辦法

    恢復sql server 2000誤刪數據的解決辦法

    這篇文章主要介紹了恢復sql server 2000誤刪數據的解決辦法,需要的朋友可以參考下
    2015-09-09
  • 獲取MSSQL數據字典的SQL語句

    獲取MSSQL數據字典的SQL語句

    獲取MSSQL數據字典的實現(xiàn)方法。
    2009-04-04
  • SQL Server之SELECT INTO 和 INSERT INTO SELECT案例詳解

    SQL Server之SELECT INTO 和 INSERT INTO SELECT案例詳解

    這篇文章主要介紹了SQL Server之SELECT INTO 和 INSERT INTO SELECT案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • Sql Server中清空所有數據表中的記錄

    Sql Server中清空所有數據表中的記錄

    我這里介紹的是刪除數據庫的所有數據,因為數據之間可能形成相互約束關系,刪除操作可能陷入死循環(huán),二是這里使用了微軟未正式公開的sp_MSForEachTable存儲過程
    2013-10-10
  • sqlserver添加sa用戶和密碼的實現(xiàn)

    sqlserver添加sa用戶和密碼的實現(xiàn)

    這篇文章主要介紹了sqlserver添加sa用戶和密碼的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • 使用 GUID 值來作為數據庫行標識講解

    使用 GUID 值來作為數據庫行標識講解

    使用 GUID 值來作為數據庫行標識講解...
    2007-05-05
  • SQL?Server刪除重復數據只保留一條的實現(xiàn)步驟

    SQL?Server刪除重復數據只保留一條的實現(xiàn)步驟

    在進行數據處理和數據分析的過程中,我們經常會遇到重復記錄的問題,重復記錄可能會導致數據不準確,也會增加數據處理的工作量,這篇文章主要給大家介紹了關于SQL?Server刪除重復數據只保留一條的實現(xiàn)步驟,需要的朋友可以參考下
    2024-01-01
  • SQL查詢數據是否存在的實現(xiàn)示例

    SQL查詢數據是否存在的實現(xiàn)示例

    在后端開發(fā)中,經常需要使用數據庫來存儲和管理數據,一個常見的任務是檢查數據庫中是否存在數據,本文主要介紹了SQL查詢數據是否存在,感興趣的可以了解一下
    2024-02-02

最新評論