溫馨提示×

溫馨提示×

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

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

SQLserver運維必備:T-SQL語句練習

發(fā)布時間:2020-08-06 13:31:26 來源:網絡 閱讀:853 作者:小生博客 欄目:數據庫

   小生博客:http://xsboke.blog.51cto.com

         



                             -------謝謝您的參考,如有疑問,歡迎交流


案例一:表如下圖所示

SQLserver運維必備:T-SQL語句練習

實驗需求:

1.products表中查詢出廠日期晚于20144月的水果信息

語句:select * from products where 出廠日期>'2014-04-30' and 種類='水果'

 

2.products表中分組查詢所有水果、蔬菜、堅果的總成本

語句:select 種類,SUM(成本) as 總成本from products  group by 種類

 

3.products表中查詢所有水果的信息,并按照成本從高到低的順序顯示結果

語句:select * from products where 種類='水果'  order by 成本 desc

 

4.products表中查詢成本在15元之間的蔬菜信息

語句:select * from products  where 種類='蔬菜'  and 成本 between 1  and  5

 

5.products表中所有水果的名稱、種類和出廠日期信息插入到新表products_new

語句:select 名稱,種類,出廠日期 intoproducts_new  from products where 種類='水果'

 

select *

from products

where出廠日期>='2011-04-01' and 種類='水果'

 

select SUM(成本) as 總成本,種類

from products

group by 種類

 

select *

from products

where種類='水果'

order by 成本 desc.

 

select *

from products

where種類='蔬菜' and 成本 between '1' and'5'

 

select名稱,種類,出廠日期

into products_new

from products

where種類='水果'

 

案例二:表如下圖所示

SQLserver運維必備:T-SQL語句練習

SQLserver運維必備:T-SQL語句練習

實驗需求:

1、products表和sales表中查詢產品的名稱、種類、成本、銷售地點和銷售價格。

語句:select products.名稱,products.種類,products.成本,sales.銷售地點,sales.銷售價格

From  products,sales

Where products.名稱=sales.名稱

 

或者:select a.名稱,a.種類,a.成本,b.銷售地點,b.銷售價格

From  products as a  inner join sales as b  on  a.名稱=b.名稱

 

 

2、products表和sales表中查詢銷往海南的產品名稱、種類、成本和銷售價格。

語句:select products.名稱,products.種類,products.成本,sales.銷售價格

From products,sales

Where products.名稱=sales.名稱 and 銷售地點=’海南

 

select products.名稱,products.種類,products.成本,sales.銷售價格,sales.銷售地點

from products inner join sales

on products.名稱=sales.名稱

 

select products.名稱,products.種類,products.成本,sales.銷售價格,sales.銷售地點

from products inner join sales

on products.名稱=sales.名稱

where銷售地點='海南'

案例三:表如下圖所示

SQLserver運維必備:T-SQL語句練習

實驗需求:

1、查詢王明的成績?結果:王明 90

Select 姓名,成績  from  student where 姓名=’王明

 

2、給王明加2分?

Update student set 成績=成績+2  where 姓名=’王明

 

3、查詢備注不為空的學生?

Select *  from  student where 備注  is not null

 

4、查詢成績大于95分以上的學生?

Select *  from  student where 成績>95

 

5、王明轉學,把王明刪掉?

Delete from student  where 姓名=‘王明’

 

6、來了一位新同學,名字叫于美麗?

Insert into student  values(20,’于美麗’,’110110110’,3,100,’勤奮好學’)

 

7、查詢成績大于95分,并且班級是2班的都有誰?

Select * from student  where 成績>95 and 所在班級=2

 

8、查詢成績大于95分,并且班級是1、2班的都有誰?

Select * from student  where 成績>95 and 所在班級 between1  and 2

 

9、查詢平均成績?

Select avg(成績) as 平均成績  from student

 

 

10、使用truncate刪除所有的數據

Truncate table  student

 

select成績

from [student-1]

where姓名='王明'

 

update [student-1]

set成績=成績+2

where姓名='王明'

 

select *

from [student-1]

where備注 is not null

 

select *

from [student-1]

where成績>'95'

 

delete

from [student-1]

where姓名='王明'

 

insert into [student-1]

(姓名) values ('于美麗')

 

select *

from [student-1]

where成績>='95' and 所在班級='2'

 

select *

from [student-1]

where成績>='95' and 所在班級 between '1' and'2'

 

select AVG(成績) as 平均成績

from [student-1]

 

truncate table Student

 

 

實驗案例四:表如下圖所示

SQLserver運維必備:T-SQL語句練習

實驗需求:

1、顯示表中全部內容

select * from 員工信息表

 

2、顯示工資大于5000員工的所有信息 

select * from 員工信息表

where 工資>=5000

 

3、顯示所有在1950到1988年之間出生員工的所有信息

select * from 員工信息表

where 出生日期>='1950'and 出生日期<='1988'

 

4、查詢出所有住在昌平的員工

select * from 員工信息表

where 家庭住址 like '%昌平%'

5、所有銷售員的工資漲幅1000

update 員工信息表

set 工資=工資+1000

where 職位='銷售員'

 

6、刪除工資小于3000員工的記錄

delete from 員工信息表

where 工資<=3000

 

7、所有經理的工資下調10%

update 員工信息表

set 工資=工資*0.9

where 職位 like '%經理'

select *

from員工信息表

 

select *

from員工信息表

where工資>='5000'

 

select *

from員工信息表

where出生日期 between '1950' and'1988'

 

select *

from員工信息表

where職位 like '%經理%'

 

update員工信息表

set工資=工資+1000

where職位='銷售員'

 

delete

from員工信息表

where工資<'3000'

 

update員工信息表

set工資=工資*0.9

where職位 like '%經理'

 

 

案例五:表如下圖所示

SQLserver運維必備:T-SQL語句練習

 

1、查詢年齡大于35,小于 50,并且職位是員工?

語句:select * from 員工信息表

where 年齡>35 and 年齡<50 and 職位='員工'

 

2、查詢員工的平均年齡?

語句:select AVG(年齡) as 平均年齡  from 員工信息表

 

3、查詢各種職位的平均年齡,并且按照每種職位的平均年齡降序排序?

語句:select 職位,AVG(年齡) as 平均年齡  from 員工信息表

group by 職位

order by AVG(年齡) desc

 

4、查詢年齡最大和最小的人是誰?

語句:select 員工姓名,年齡 from 員工信息表

where 年齡=(select MAX(年齡)

from 員工信息表)

 

5、查詢每種職位有多少人?并且按每種職位的人數升序排序?

語句:select 職位,COUNT(員工id) as 人數

from 員工信息表

group by 職位

 

6、查詢年齡大于等于50歲和小于30歲的都有哪些人?

語句:select * from 員工信息表

where 年齡>=50 or 年齡<30

 

select *

from [員工信息表-2]

where職位='員工' and 年齡 between '35' and'50'

 

select AVG(年齡) as 平均年齡

from [員工信息表-2]

 

select AVG(年齡) as 平均年齡,職位

from [員工信息表-2]

group by 職位

order by AVG(年齡) desc

 

select年齡,員工姓名

from [員工信息表-2]

where年齡=( select MAX(年齡)  from [員工信息表-2])

or年齡=( select MIN(年齡)  from [員工信息表-2])

 

select COUNT(職位) as 人數,職位

from [員工信息表-2]

group by 職位

order by  COUNT(職位) asc

 

select *

from [員工信息表-2]

where年齡>='50' or 年齡<='30'

 

 

 

案例六:表如下圖所示

SQLserver運維必備:T-SQL語句練習

SQLserver運維必備:T-SQL語句練習

SQLserver運維必備:T-SQL語句練習

SQLserver運維必備:T-SQL語句練習

SQLserver運維必備:T-SQL語句練習

SQLserver運維必備:T-SQL語句練習

SQLserver運維必備:T-SQL語句練習

SQLserver運維必備:T-SQL語句練習

SQLserver運維必備:T-SQL語句練習

SQLserver運維必備:T-SQL語句練習

SQLserver運維必備:T-SQL語句練習

實驗需求:

1、兩個表查詢

select 學生表.姓名,學生表1.電話,學生表1.家庭住址

from 學生表,學生表1

where 學生表.學生id=學生表1.學生id

 

2、三個表的查詢

select 學生表.姓名,課程表.課程名,成績表.分數

from 學生表,課程表,成績表

where 學生表.學生id=成績表.學生id AND 成績表.課程ID=課程表.課程ID

 

3、合并兩個結果集

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

FROM 二班

UNION

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

from 一班

order by 班級 desc,學號 asc

 

4、內聯接(查找參加考試的學生的姓名和CNT成績,電話)

select s.姓名,s.電話,c.CNT

FROM 學生基本信息表 AS S INNER JOIN 學生成績表 AS C

ON S.姓名=C.姓名

 

5、左外連接(查找本班學生的姓名和CNT才成績,電話)

select s.姓名,s.電話,c.CNT

FROM 學生基本信息表 AS S LEFT OUTER  JOIN 學生成績表 AS C

ON S.姓名=C.姓名

 

6、右外連接(查找參加本次考試的學生的姓名和CNT才成績,電話)

select s.姓名,s.電話,c.CNT

FROM 學生基本信息表 AS S RIGHT OUTER JOIN 學生成績表 AS C

ON S.姓名=C.姓名

 

7、完全連接(查找所有學生的考試情況)

select s.姓名,s.電話,c.CNT

FROM 學生基本信息表 AS S FULL OUTER JOIN 學生成績表 AS C

ON S.姓名=C.姓名

 

8、自連接(查找每個員工的上司姓名)

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

from 員工信息表 as y inner join 員工信息表 as s

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

 

9、子查詢(查找每個季度的生產數量,百分比)

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

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

from 生產表

group by 季度

order by 季度

 

10、在where子句中使用SELECT ,查找課程ID=1并且成績〉80的學生

select 學生表.姓名

from 學生表

where 80<(select 分數 from 成績表

where 學生表.學生ID=成績表.學生ID AND 成績表.課程ID=1)

 

11、交叉連接

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

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



向AI問一下細節(jié)

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

AI