中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

T-SQL查詢語句

發布時間:2020-07-04 10:23:07 來源:網絡 閱讀:2232 作者:楊書凡 欄目:MySQL數據庫
    SQL語言中最主要、最核心的部分是它的查詢功能。查詢語句用來對已經存在于數據庫的數據按照特定的組合、條件表達式或次序進行檢索,使用SELECT語句來完成。

使用SELECT查詢數據

1. SELECT語法結構

    T-SQL中查詢基本格式是有SELECT子句、FROM子句、WHERE子句組成的查詢塊:

select 列名 from 表名 where 查詢限定條件

其中

* select 指定了想要查看哪些列的數據

* from 指定這些數據來自于哪些表

* where 指定了想要查看哪些行

 

SELECT語句的語法如下:

select  列名                       //SELECT子句:指定查詢列表字段,列名格式為“表.字段1,表.字段2”,如果查單個表,可簡寫為“字段1,字段2”
[into  新表名]                  //INTO子句:可選,將查詢結果存放在一個新表中
from  表名                      //FROM子句:指定查詢數據的表名稱
[where  查詢限定條件]            //WHERE子句:可選,查詢條件,由字段組成的條件表達式或邏輯表達式
[group by  分組條件]               //GROUP BY子句:可選,指定查詢結果的分組條件,通常是一個列名,但不能是列的別名
[having   分組查詢限定條件]          //HAVING子句:指定分組搜索條件,通常與GROUP BY子句一起使用
[order by  排序規則esc|desc]                //ORDER BY子句:指定查詢結果的排序方式,默認為升序ESC;DESC表示


2. 表達式

    表達式是符號和運算符的一種組合,并且可以對它求值得到單個數據值

(1)條件表達式

常量:單個指定數據值的符號(字母、數字、符號)

列名:表中列的名稱

一元運算符:僅有一個操作數的運算符(+正數、-負數)

二元運算符:將兩個操作數組合執行操作的運算符,可以是算數運算符、賦值運算符、位運算符、比較運算符、邏輯運算符、字符串串聯運算符、一元運算符

T-SQL查詢語句

T-SQL查詢語句

   在查詢LIKE運算符的SQL語句需要使用以下的通配符運算符:

T-SQL查詢語句


例如:要求查找“員工信息表”中電話號碼前兩位數為“13”,可以編寫如下約束表達式

T-SQL查詢語句


(2)邏輯表達式

T-SQL查詢語句


3. 查詢舉例

(1)查詢student表中成績為90-100的學生所有信息

select * from student where 成績 between 90 and 100


(2)查詢student表中成績低于90或高于95分學生信息

select * from student where 成績<90 or 成績>95


(3)查詢student表中成績為89、90、91分的學生信息

select * from student where 成績 in (89,90,91)


(4)查詢student表中所有姓劉的學生信息

select * from student where 姓名 like ‘劉%'


(5)查詢student表中前5行的數據

select top 5 * from student


(6)查詢student表中所有學生信息,按照成績從高到低顯示查詢結果

select * from student order by 成績 desc


4. 分組查詢

    分組查詢就是將表中的數據按照一定的條件分類組合,在根據需要得到統計信息,通過group by子句可以實現

    在group by子句查詢中,select指定的列名要么是group by子句中指定的列,要么是聚合函數。聚合函數用于對一組值進行計算,并返回單個值,如求總和、最大值、最小值、平均值等。T-SQL中常見的聚合函數有SUM()、AVG()、MAX()、MIN()、COUNT()等

(1)查詢student表中所有學生的總成績,列表名顯示為“總成績”

select SUM(成績)as 總成績 from student


(2))查詢student表中所有學生的平均成績

select AVG(成績)as 平均成績 from student


(3)查詢student表中所有學生的最高分和最低分

select MAX(成績)as 最高分 MIN(成績)as 最低分 from student


(4)查詢student表中所有行數

select COUNT(*)as 總行數 from student


(5)查詢student表中每個班級的總成績

select SUM(成績)as 總成績 from student group by 班級


(6)查詢student表中總成績大于200的班級

select SUM(成績)as 總成績 from student group by 班級 having SUM(成績)>200


(7)將student表中2班的學生信息保存到表student_new中

select * into student_new from student where 班級=2


5. 子查詢

    子查詢就是查詢中又嵌套的查詢

案例1:查詢student表中的最高分或最低分是哪個學生

select 姓名,成績

from student

where 成績=(select MAX(成績) from student) or 成績=(select MIN(成績) from student)


案例2:查詢每個季度的生產數量,百分比

T-SQL查詢語句

select 季度,sum(生產數量) AS 每個季度的生產數量,

str((sum(生產數量)/(select sum(生產數量) from 生產表))*100)+'%' AS 百分比

from 生產表

group by 季度

order by 季度




使用T-SQL實現多表查詢

    前面的查詢都是單表的查詢。如果一個查詢需要對多個表進行操作,就稱為連接查詢,就是通過各個表之間共同列的關聯性來查詢數據。


1. 內連接(INNER JOIN)

    內連接(INNER JOIN)是最常用的一種連接方式,只顯示兩個表中數據的集合部分

T-SQL查詢語句

案例:在表A和表B中使用內連接查詢學生姓名、學校、職業

* 實現方式一:在where子句中指定連接條件,寫法如下

select A.name 姓名A,A.school 學校A,B.name 姓名B,B.job 職業B 

from A,B

where A.name=B.name


* 實現方式二:在from子句中使用inner join …on子句來實現,寫法如下

select A.name 姓名A,A.school 學校A,B.name 姓名B,B.job 職業B 

from A inner join B on A.name=B.name


2. 外連接

    外連接是對內連接的擴充,除了將兩個表中數據重復部分連接起來,還可以要求顯示左側或右側全部的數據

(1)左外連接(LEFT JOIN)

    左外連接的結果集包括左表的所有行

案例:在表A和表B中使用左外連接查詢學生姓名、學校、職業

select A.name 姓名A,A.school 學校A,B.name 姓名B,B.job 職業B 

from A left join B on A.name=B.name


(2)右外連接(RIGHT JOIN)

    右外連接是左外連接的反向連接,其結果集包括右側所有行

案例:在表A和表B中使用右外連接查詢學生姓名、學校、職業

select A.name 姓名A,A.school 學校A,B.name 姓名B,B.job 職業B 

from A right join B on A.name=B.name


(3)全連接(FULL JOIN)

    全連接右成完整外連接,包括左表和右表中的所有行

案例:在表A和表B中使用完整外連接查詢學生姓名、學校、職業

select A.name 姓名A,A.school 學校A,B.name 姓名B,B.job 職業B 

from A full join B on A.name=B.name


3. 合并兩個結果集

T-SQL查詢語句

案例:將兩個表的結果合并到一個結果顯示

SELECT 姓名,學號,班級,國籍

FROM 二班

UNION

select +' '+,學號,班級,國籍

from 一班

order by 班級 desc,學號 asc


4. 自連接

T-SQL查詢語句

案例:查找每個員工的上司姓名

SELECT Y.員工姓名,S.員工姓名 AS 上司姓名

from 員工信息表 as Y inner join 員工信息表 as S

on Y.上司ID=S.員工ID


5. 交叉連接

    交叉連接就是表之間沒有任何連接,左表與右表每一行一一組合,相當于兩個表相乘

T-SQL查詢語句

SELECT T.教師姓名,C.課程名

from 教員基本信息表 AS T cross join 課程表 AS C



向AI問一下細節

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

AI

定州市| 罗田县| 黎城县| 庆元县| 师宗县| 丁青县| 英山县| 平陆县| 革吉县| 庆安县| 措美县| 柳河县| 凤山县| 佳木斯市| 错那县| 将乐县| 东乌| 灵石县| 页游| 康平县| 大石桥市| 泰兴市| 台前县| 洞口县| 辉南县| 通州市| 紫云| 城市| 连州市| 香河县| 新源县| 灌阳县| 鸡泽县| 九寨沟县| 鄢陵县| 柳林县| 永宁县| 威远县| 阿鲁科尔沁旗| 逊克县| 色达县|