mysql级联查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql级联查询相关的知识,希望对你有一定的参考价值。
现有学生表 stu 字段sid sname
选课表 sid cname
现在需要查询选课最多的7人的姓名及选课的数目
select stu.sname,count(sc.cname) as '选修总数目' from stu,sc where stu.sid=sc.sid group by stu.sname order by count(sc.cname) desc limit 0,7 参考技术B select a.sname,b.num from stu a,(
select count(*) num,sid from 选课表 group by sid
) b where a.sid = b.sid; 参考技术C 选课表为ss,
select stu.sname,count(ss.cname) as num from stu inner join ss on stu.sid=ss.sid group by ss.sid order by num asc
Mybatis + mysql 实现两级级联的查询
Mybatis + mysql 实现两级级联的查询
一、需求:根据Mybatis实现2级级联的查询。
根据省的id查询它下面所有的市信息。
二、实现步骤
方法一:
思想: 此种情况是“一对多”,我们在一的mapper.xml中,用collection定义多的一个集合即可。
property ---> 对应实体类中,多的那个子类,list ofType ---> 对应子类的试题类型 column ----> 父类传递给子类查询的外键 select ----> 子类查询的方法
1.定义父类+子类的实体类
package com.imocc.mall.pojo; import lombok.Data; import java.util.List; /** * @author wy */ @Data public class Province { private Integer id; private String provinceid; private String province; private List<City> list; @Override public String toString() { return "Province{" + "id=" + id + ", provinceid=\'" + provinceid + \'\\\'\' + ", province=\'" + province + \'\\\'\' + ", list=" + list + \'}\'; } }
package com.imocc.mall.pojo; import lombok.Data; @Data public class City { private Integer id; private String cityid; private String city; private String father; }
2.mapper类
2. mapperxml文件
3. 测试
JDBC Connection [HikariProxyConnection@1532915766 wrapping com.mysql.cj.jdbc.ConnectionImpl@62dbe64e] will not be managed by Spring ==> Preparing: select * from hat_province where provinceID =? ==> Parameters: 110000(String) <== Columns: id, provinceID, province <== Row: 1, 110000, 北京市 ====> Preparing: select id, cityID, city, father from hat_city where father = ? ====> Parameters: 110000(String) <==== Columns: id, cityID, city, father <==== Row: 1, 110100, 市辖区, 110000 <==== Row: 2, 110200, 县, 110000 <==== Total: 2 <== Total: 1 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@8f2098e] Province{id=1, provinceid=\'110000\', province=\'北京市\', list=[City(id=1, cityid=110100, city=市辖区, father=110000), City(id=2, cityid=110200, city=县, father=110000)]}
以上是关于mysql级联查询的主要内容,如果未能解决你的问题,请参考以下文章
Mysql常用sql脚本与配置管理(密码忘记,角色管理,分表,连接数,高并发,索引,级联查询)
MySQL主表与副表级联操作及多表查询(两张独立表,一张关系表)