当前位置:网站首页>mysql 中 in 的用法
mysql 中 in 的用法
2022-08-02 08:00:00 【暮晓引流软件】
1. select * from student s where s.id in (20,30);
查询id是20或者是30,等同于select * from student s where s.id = 20 or s.id = 30;
2.select * from student s where s.id in (select age from student);
查询id是age数组里面的,单个字段只能in查询结果是单行的。
很明显后面括号的 select age from student 查出来只有age这一列,假如括号的查询查出来的age是下面图列

那么此时查询就等价于select * from student s where s.id in (64,57,32,24,35,55);
3.select * from student s where (s.class , s.score) in (select class , max(score) from student group by class)
既然能单个字段in单行结果,那么多个字段就能in多行结果了。
这个sql表示:查询每个班级中分数最高的学生的所有数据
注意,此时的name和class是不会错位的,你本来就是按着匹配的class和score去in匹配class、score的结果集,所以数据不会出错的。
如果你写成这样:
select * from student s where s.classin (select class from student group by class) and s.score in (select max(score) from student group by class);
就把class和score的关系分开了,分开后就可能出现结果列错位的情况,可能名字和他的分数对不上。
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
HCIP第三天
Seleniu screenshots code and assign name to the picture
Biotinyl Cystamine | CAS: 128915-82-2 | biotin cysteamine
AcWing 2811. 最长公共子串(后缀自动机 fa 指针的性质)
Kind of weird!Access the destination URL, the host can container but not
爬虫——爬虫初识、requests模块
小说里的编程 【连载之二十三】元宇宙里月亮弯弯
I.MX6U-ALPHA开发板(EPIT定时器实验)
IO进程线程->进程->day4
uni.navigateBack 中的坑
Business Intelligence Platform BI Business Intelligence Analysis Platform How to Choose the Right Business Intelligence Platform BI
传递泛型给JSX元素
I.MX6U-ALPHA开发板(定时器按键消抖)
flutter 参数传一个范型数据
基本SQL语句(一篇就够了)
Biotin-C6-amine|N-biotinyl-1,6-hexanediamine|CAS: 65953-56-2
@RequestParam使用
读入、输出优化
[OC学习笔记]Block三种类型
学习笔记(8)DOM









