sql server 基础

本文详细介绍了SQL查询的各种技巧,包括左连接、右连接、使用group by和having进行聚合查询,利用开窗函数进行复杂计算,以及如何使用case when...then...else语法等。同时还涉及了distinct、top等语句的使用,以及SQL语句的执行顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1 .左连接 

 

select a.* ,b.*

from student as a
left join

hobby as b
on a.hobbyid=b.hobbyid

 

 

2. 右 连接

select a.* ,b.*

from student as a
right join

hobby as b
on a.hobbyid=b.hobbyid

查询结果

 

3.  用group by, having 实现  

  ------ (1)查询各个商品 售出多少件

   -----(2)查询卖出大于100元的商品 (使用 having)

   ----(3)统计各个用户销售后金额

 

 

   (1) select a.productId,sum(a.quantity) as 商品个数 from shoping  as a group by a.productId 

      

  (2)

 

(3)

 

 

4. 求 学生的平均成绩,最高分,最低分

 

5.开窗函数 over()

显示 各位同学的成绩,以及平均分

 select * ,AVG(score) over ()as 平均分 from studentscore

 

 

6. 查询名字 出现次数 大于 2 的 名字

 

7. case when ...then ...else.. end语法

 没有 加 case when then else end 时 

select a.stuname,a.sex

from student as a  

加了之后 

select a.stuname as 姓名,

case when a.sex='m'then '男' else '女' end as 性别

from student as a

 

 

8.distinct 语句的用法 

 

加了 distinct 后

 

 8. top语句的用法 

 

 

 9.排序是最后执行的 。在 from,where 之后 。 order by

 

降序排序

 

10 top语句 和 order by语句的配合 

 例: 取年级最小的 5个学生的信息

select top 5 * from fenshu order by age

 

 

一般 sql 语句的执行顺序 

from---> where -->group by --> having-->select -->order by 。 order by 可以和 top语句一起用

转载于:https://www.cnblogs.com/bingyizhihun/p/9522459.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值