使用左连接查询指定字段值最高的记录
来源:互联网 发布:七月算法机器学习视频 编辑:程序博客网 时间:2024/06/06 00:59
左连接 left join
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行,如果右表中没有匹配的行,则用null填补。
左连接语法
SELECT column_name(s)FROM table_name1LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
使用左连接的语法查找出表中指定字段值最大的记录
test表有如下字段
向test表中插入记录
1、查找test表中wealth最大的记录的name和wealth
select s1.name,s1.wealth from test s1 left join test s2 on s1.wealth<s2.wealth where s2.name is null;
结果
sql语句中s1为左表,s2为右表,所以返回s1的所有记录以及s2中符合on条件既s2中的wealth大于s1的wealth中的记录,大概得到如下记录
接着使用where语句查找s2的name字段为null的记录,则为wealth最大的记录
2.按照name分组,查找相同name中wealth最大的记录
select s1.name,s1.wealth from test s1 left join test s2 on s1.name=s2.name and s1.wealth<s2.wealth where s2.name is null;
结果
同样的sql语句中s1为左表,s2为右表,不同的是on条件中需要过滤掉两个表name相同但是s1的wealth小于s2的wealth,例如对于name为eee的记录,迪卡尔乘积后没有符合条件的记录,所以右表只能用null填补,结果如图
接着使用where语句查找s2的name字段为null的记录,则为wealth最大的记录
0 0
- 使用左连接查询指定字段值最高的记录
- 使用case指定查询结果的字段
- 记录SQL查询左连接,和Where的一次坑
- 按照指定的顺序对字段值进行连接--聚合函数的使用
- 可以指定查询字段的查询
- 获取UltraWebGrid选择记录指定字段的值
- Oracle生成查询包含指定字段名对应的所有数据表记录语句
- MySQL入门--显示指定数据表的字段结构、插入指定字段的值(记录)、查看指定表中指定字段的所有记录
- MySQL入门--显示指定数据表的字段结构、插入指定字段的值(记录)、查看指定表中指定字段的所有记录
- 一个左连接查询的例子
- 三个表的左连接查询
- SQL左连接查询和又连接查询的区别
- mysql中如何将查询结果的多个记录中的指定字段放到一个二维数组中,以及在in子句中使用数组
- oracle 删除指定字段重复的记录
- oracle 删除指定字段重复的记录
- hibernate 左连接 查询并取值
- sql分组例子:查询某门课是最高成绩的记录
- 左连接查询
- :把集合转成数组,可以实现集合的遍历
- app引导页(背景图片切换加各个页面动画效果)
- 逆序建链表
- 玩无限消乐的设计示例(基础篇)改进拖放动画元素操作
- Android 用MediaCodec实现视频硬解码
- 使用左连接查询指定字段值最高的记录
- Boost之Intrusive
- java i/o流-----对象流
- JAVA中的基本数据类型
- HDU-3689 Let the light guide us 线段树+DP
- 集合存储5个学生对象,并把学生对象进行遍历。
- 软件设计之——“高内聚低耦合”
- #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
- jsp通过url传递参数乱码