数据库SQL语句学习1

表t_student

1.查找所有性别为F删除标识为0的同学

SELECT * FROM t_student WHERE sex = 'F' and delete_flag = 0;

2.查找学号在2300到2400并且删除表识为0的同学

--方法一
SELECT * FROM t_student WHERE student_id > 2300 and student_id < 2400  and delete_flag = 0;
--方法二
SELECT * FROM t_student WHERE student_id between 2300 and 2400  and delete_flag = 0;

3.查找姓李的同学

SELECT * FROM t_student WHERE student_name like '李%'; 

%匹配任意字符

4.查找姓李或者姓王的同学

--方法一
SELECT * FROM t_student WHERE student_name like '李%' or student_name like '王%'; 
--方法二(先李后王)
SELECT * FROM t_student WHERE student_name like '李%' 
UNION
SELECT * FROM t_student WHERE student_name like '王%'; 

5.查找名叫“安琪”的同学

SELECT * FROM t_student WHERE student_name = '_安琪'; 

_匹配一个字符

6.查询男生和女生各有多少人

SELCET COUNT(*) , sex FROM t_student GROUP BY sex;

COUNT()(计数)聚合函数

GROUP BY 分组查询

7.查询不同性别中最大的学生id

 SELCET MAX(student_id) , sex FROM t_student GROUP BY sex;

MAX()(最大值)聚合函数

GROUP BY 分组查询

8.查询t_student表,按student_id正序排列,student_id相同时按id倒序排列

SELECT * FROM t_student ORDER BY student_id asc , id desc;

asc 正序(默认,可省略)

desc 倒序

多字段排序时,先按第一个字段排序,相同值时按第二个字段排序,以此类推

9.

SELECT
  COUNT(1) AS c, -- 统计每个student_id出现的次数,COUNT(1)命名c
  student_id
FROM
  t_student
GROUP BY 
  student_id -- 按student_id分组
HAVING
  c > 1  -- 只保留出现次数>1的分组
ORDER BY
  c desc  -- 按出现次数从高到低排序

HAVING 用于筛选分组后的聚合结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值