千家信息网

T-SQL查询语句大总结

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,T-SQL查询语句大总结防伪码:有志者事竟成,破釜沉舟,百二秦关终属楚注:表格及语法众多,因此总结为sql server 语句,各位朋友如有需要可参考,谢谢!案例一:表如下图所示实验需求:1. 在pr
千家信息网最后更新 2026年10月31日T-SQL查询语句大总结

T-SQL查询语句大总结

防伪码:有志者事竟成,破釜沉舟,百二秦关终属楚

注:表格及语法众多,因此总结为sql server 语句,各位朋友如有需要可参考,谢谢!

案例一:表如下图所示

实验需求:

1. 在products表中查询出厂日期晚于2014年4月的水果信息

语句: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表中查询成本在1-5元之间的蔬菜信息

语句:select * from products

where 种类='蔬菜'

and 成本 between 1 and 5

5. 将products表中所有水果的名称、种类和出厂日期信息插入到新表products_new中

语句:select 名称,种类,出厂日期

into products_new

from products where 种类='水果'

案例二:表如下图所示


实验需求:

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 销售地点='海南'

案例三:表如下图所示

实验需求:

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 所在班级 between 1 and 2

9、 查询平均成绩?

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

10、使用truncate删除所有的数据

Truncate table student

实验案例四:表如下图所示

实验需求:

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 '%经理'

案例五:表如下图所示


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 员工信息表) or

年龄=(select MIN(年龄)

from 员工信息表)

5、查询每种职位有多少人?并且按每种职位的人数升序排序?

语句:select 职位,COUNT(员工id) as 人数

from 员工信息表

group by 职位

order by COUNT(员工id)

6、查询年龄大于等于50岁和小于30岁的都有哪些人?

语句:select * from 员工信息表

where 年龄>=50 or 年龄<30

案例六:表如下图所示


实验需求:

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

案例七:

事务,完成转账

注意:编辑事务,如果转账1000会回滚,提示失败,如果转账800,提示成功。

创建bank表,设置约束currentMoney>=1,执行以下语句:

print '查看转账事务前的余额'

select * from bank

go

begin transaction

declare @errorsum int

set @errorsum =0

update bank set customermoney =customermoney -1000

where customername ='张三'

set @errorsum =@errorsum +@@ERROR

update bank set customermoney =customermoney +1000

where customername ='李四'

set @errorsum =@errorsum +@@ERROR

print '查看转账事务过程中的余额'

select * from bank

if @errorsum <>0

begin

print '交易失败,回滚事物'

rollback transaction

end

else

begin

print '交易成功,提交事务,写入键盘,永久保存'

commit transaction

end

go

print '查看转账事务后的余额'

select * from bank

go



交易失败:

交易成功:



附件:http://down.51cto.com/data/2368075
学生 员工 姓名 信息 成绩 查询 年龄 语句 名称 种类 成本 职位 销售 工资 课程 电话 王明 案例 水果 班级 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 重生之互联网科技帝国 互联网和科技技术 厦门中拓互联网络科技有限公司 友谊互联网络科技 互联网科技论坛 深圳卡尔迅互联网科技有限公司怎么样 青海省互联网新科技 以后互联网后是啥科技 互联网金融科技公司干啥的 华服互联网科技官网 互联网科技创新服务 河南猎农互联网科技有限公司 南平创想时代互联网科技有限公司 青岛科技大学互联网大赛研究生 辽宁互联网新科技 亳州好赞互联网科技有限公司 长沙互联网科技 广州有谷有贝互联网科技有限公司 互联网科技新闻 互联网科技公司税收优惠 互联网科技公司官网 人人互联网科技是培训 老年人脱离互联网科技的作文 福州新华互联网科技学校 知乎 互联网数据科技专业 上海互联网科技公司ppt 风投北京互联网科技 绵阳真晨互联网科技有限公司 北京品多多互联网科技有限公司
0