最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL?Server數(shù)據(jù)庫入門教程之多表查詢

 更新時間:2023年06月27日 09:58:28   作者:M?malloc  
這篇文章主要給大家介紹了關(guān)于SQL?Server數(shù)據(jù)庫入門教程之多表查詢的相關(guān)資料,多表查詢是SQL數(shù)據(jù)庫里的高級查詢語句,文中通過圖文以及實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

SQL_Server的前情介紹

??大家好呀,今天是我第三次寫sql_server,也是最近才學(xué)習(xí)sql_server,也想著記錄一下自己的學(xué)習(xí)過程,并且分享給大家尼!

一、sql_server技術(shù)介紹

SQL Server 是由微軟公司(Microsoft)開發(fā)的關(guān)系型數(shù)(RDBMS)。RDBMS 是 SQL 以及所有現(xiàn)代數(shù)據(jù)庫系統(tǒng)的基礎(chǔ),比如 MS SQL Server,IBM DB2,Oracle,MySQL 以及微軟的 Microsoft Access。

二、學(xué)習(xí)前的準(zhǔn)備工作

編程軟件:SQL Server Management Studio 2012
帶好你的小板凳,我們一起揚帆起航!

SQL_Server之多表查詢

笛卡爾乘積的講解

在數(shù)據(jù)庫中有一種叫笛卡爾乘積其語法如下:

select * from People,Department

此查詢結(jié)果會將People表的所有數(shù)據(jù)和Department表的所有數(shù)據(jù)進(jìn)行依次排列組合形成新的記錄。例如People表有10條記錄,Department表有3條記錄,則排列組合之后查詢結(jié)果會有10*3=30條記錄.

多表查詢

接下來我們來看幾個例子吧!

1.查詢員工信息,顯示部門信息

select * from People,department where People.DepartmentId = department.DepartmentId 

2.查詢員工信息,顯示職級名稱

select * from People,s_rank where People.RankId = s_rank.RankId

3.查詢員工信息,顯示部門名稱,顯示職級名稱

select * from People,department,s_rank 
	where People.departmentId = department.DepartmentId and People.RankId = s_rank.RankId 

內(nèi)連接查詢

在數(shù)據(jù)庫的查詢過程中,存在有內(nèi)連接查詢,這個時候,我們就需要用到inner這個關(guān)鍵字,下面我們來看幾個例子吧!

1.查詢員工信息,顯示部門信息

select * from People inner join department on People.departmentId = department.DepartmentId

2.查詢員工信息,顯示職級名稱

select * from People inner join s_rank on People.RankId = s_rank.RankId

3.查詢員工信息,顯示部門名稱,顯示職級名稱

select * from People inner join department on People.departmentId = department.DepartmentId
inner join s_rank on People.RankId = s_rank.RankId

外連接查詢(左外連,右外連,全外連)

1.查詢員工信息,顯示部門信息(左外連)

select * from People left join department on People.departmentId = department.DepartmentId

2.查詢員工信息,顯示職級名稱(左外接)

select * from People left join s_rank on People.RankId = s_rank.RankId

3.查詢員工信息,顯示部門名稱,顯示職級名稱(左外連)

select * from People left join department on People.departmentId = department.DepartmentId
inner join s_rank on People.RankId = s_rank.RankId

4.右外連

A left join B = B right join A

select * from People right join department on People.departmentId = department.DepartmentId

全外連查詢(無論是否符合關(guān)系,都要顯示數(shù)據(jù))

1.select * from People full join department on People.departmentId = department.DepartmentId

多表查詢的主要例子

1.查詢出武漢地區(qū)所有的員工信息,要求顯示部門名稱,以及員工的詳細(xì)資料(顯示中文別名)

select PeopleId 員工編號,DepartmentName 部門名稱,PeopleName 員工姓名,PeopleSex 員工性別,
PeopleBirth 員工生日,PeoPleSalary 月薪,PeoplePhone 電話,PeopleAddress 地址
from People,department where People.departmentId = department.DepartmentId

2.查詢出武漢地區(qū)所有員工的信息,要求顯示部門名稱,職級名稱以及員工的詳細(xì)資料

select PeopleId 員工編號,DepartmentName 部門名稱,RankName 職級名稱, PeopleName 員工姓名,PeopleSex 員工性別,
PeopleBirth 員工生日,PeoPleSalary 月薪,PeoplePhone 電話,PeopleAddress 地址
from People,department,s_rank where People.departmentId = department.DepartmentId 
and People.RankId = s_rank.RankId and PeopleAddress = '武漢'

3.根據(jù)部門分組統(tǒng)計員工人數(shù),員工工資總和,平均工資,最高工資和最低工資

select DepartmentName 部門名稱, count(*) 員工人數(shù),sum(PeopleSalary) 工資總和,avg(PeopleSalary) 平均工資,max(PeopleSalary) 最高工資,min(PeopleSalary) 最低工資 
from People,department
	where People.departmentId = department.DepartmentId
		group by department.DepartmentId,DepartmentName

4.根據(jù)部門分組統(tǒng)計員工人數(shù),員工工資總和,平均工資,最高工資和最低工資平均工資在10000元以下的不參與排序。根據(jù)平均工資降序排序

select DepartmentName 部門名稱, count(*) 員工人數(shù),sum(PeopleSalary) 工資總和,avg(PeopleSalary) 平均工資,max(PeopleSalary) 最高工資,min(PeopleSalary) 最低工資 
from People,department
	where People.departmentId = department.DepartmentId 
		group by department.DepartmentId,DepartmentName	
			having avg(PeopleSalary) >= 15000 
				order by avg(PeopleSalary) desc

5.根據(jù)部門名稱,然后根據(jù)職位名稱分組,統(tǒng)計員工人數(shù),員工工資總和
平均工資,最高工資,和最低工資

select DepartmentName 部門名稱,RankName 職級名稱, count(*) 員工人數(shù),sum(PeopleSalary) 工資總和,avg(PeopleSalary) 平均工資,max(PeopleSalary) 最高工資,min(PeopleSalary) 最低工資 
from People,department,s_rank
	where People.departmentId = department.DepartmentId and People.RankId = s_rank.RankId
		group by department.DepartmentId,DepartmentName,s_rank.RankId,s_rank.RankName

如何鞏固學(xué)習(xí)

提示:在學(xué)習(xí)的過程中,我們需要先自行進(jìn)行思考,而不是一遇到不會的就放棄思考直接看答案,如果最后遇到真的不會的題目,我們可以適當(dāng)?shù)倪M(jìn)行觀看答案,看自己的思路是否正確,在作出正確的判斷

總結(jié)

到此這篇關(guān)于SQL Server數(shù)據(jù)庫入門教程之多表查詢的文章就介紹到這了,更多相關(guān)SQLServer多表查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SqlServer公用表表達(dá)式(CTE)的具體使用

    SqlServer公用表表達(dá)式(CTE)的具體使用

    CTE是一種臨時命名的結(jié)果集,,它在執(zhí)行查詢時存在,并且只在該查詢執(zhí)行期間有效,本文主要介紹了SqlServer公用表表達(dá)式的具體使用,感興趣的可以了解一下
    2024-08-08
  • MSSQL 數(shù)據(jù)庫備份和還原的幾種方法 圖文教程

    MSSQL 數(shù)據(jù)庫備份和還原的幾種方法 圖文教程

    MSSQL 數(shù)據(jù)庫備份和還原的幾種方法小結(jié),配有圖文,大家看了就知道了。
    2009-12-12
  • sql server deadlock跟蹤的4種實現(xiàn)方法

    sql server deadlock跟蹤的4種實現(xiàn)方法

    一提到跟蹤倆字,很多人想到警匪片中的場景,但這里介紹的可不是一樣的哦,下面這篇文章主要給大家介紹了關(guān)于sql server deadlock跟蹤的4種實現(xiàn)方法,文中通過圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-09-09
  • Windows環(huán)境下實現(xiàn)批量執(zhí)行Sql文件

    Windows環(huán)境下實現(xiàn)批量執(zhí)行Sql文件

    這篇文章主要介紹了Windows環(huán)境下實現(xiàn)批量執(zhí)行Sql文件的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • SQL SERVER修改函數(shù)名容易引發(fā)的問題分析

    SQL SERVER修改函數(shù)名容易引發(fā)的問題分析

    這篇文章主要介紹了SQL SERVER修改函數(shù)名容易引發(fā)的問題分析的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • SQL中的left join right join

    SQL中的left join right join

    數(shù)據(jù)庫常見的join方式有三種:inner join, left outter join, right outter join(還有一種full join,因不常用,本文不討論)。這三種連接方式都是將兩個以上的表通過on條件語句,拼成一個大表。
    2009-06-06
  • 將一個表中個某一列修改為自動增長的方法

    將一個表中個某一列修改為自動增長的方法

    如果表中沒有數(shù)據(jù)可以使用 drop column然后再add column,如果存在一部分?jǐn)?shù)據(jù)可以使用本文提供的第二種解決方法
    2014-09-09
  • 如何統(tǒng)計全天各個時間段產(chǎn)品銷量情況(sqlserver)

    如何統(tǒng)計全天各個時間段產(chǎn)品銷量情況(sqlserver)

    對一個賣場來說,肯定有負(fù)責(zé)人每天定時去統(tǒng)計每天各個時間段產(chǎn)品銷量情況,以此保證賣場長期可持續(xù)發(fā)展,有的用excel表統(tǒng)計,但是用起來很不方便,下面給大家介紹sqlserver版如何統(tǒng)計全天各個時間段產(chǎn)品銷量情況
    2015-08-08
  • 數(shù)據(jù)庫觸發(fā)器DB2和SqlServer有哪些區(qū)別

    數(shù)據(jù)庫觸發(fā)器DB2和SqlServer有哪些區(qū)別

    大部分?jǐn)?shù)據(jù)庫語句的基本語法是相同的,但具體到的每一種數(shù)據(jù)庫,又有些不一樣,例如觸發(fā)器,DB2和SQL Server兩種很大的不同。對數(shù)據(jù)庫觸發(fā)器DB2和SqlServer有哪些區(qū)別感興趣的朋友一起看看本文吧
    2015-11-11
  • sql語句實現(xiàn)四種九九乘法表

    sql語句實現(xiàn)四種九九乘法表

    本文給大家分享了四種九九乘法表的實現(xiàn),本文附有運行結(jié)果,代碼寫的簡單明了,需要的朋友一起來學(xué)習(xí)吧。
    2015-08-08

最新評論

阜新市| 西充县| 玛纳斯县| 黄大仙区| 垦利县| 彰武县| 澜沧| 五常市| 杭锦后旗| 盘山县| 大关县| 宁城县| 乃东县| 靖安县| 永新县| 福建省| 军事| 玉龙| 北碚区| 潮州市| 韶山市| 融水| 敦化市| 嘉兴市| 敖汉旗| 宣恩县| 龙岩市| 丹巴县| 临城县| 昂仁县| 乐昌市| 子长县| 兰考县| 平乡县| 逊克县| 赤壁市| 故城县| 蒲江县| 高陵县| 弥渡县| 措美县|