(3)Navicat |
您所在的位置:网站首页 › mysql多表联查语句 › (3)Navicat |
多表连查是什么:指的是一个实体的某个数据与另外一个实体的多个数据有关联关系, 一对多的关系在设计的时候,需要设计表的外键 (为什么使用多表连查 因为当我们有多张表 并且有的信息是相互联系的 这时候我们就需要用到多表连查。) -----简单介绍一下里面的查询---- 交叉查询交叉查询,又叫笛卡尔积查询,会将左表和右表的信息,做一个乘积将所有信息查询出来,会产生临时表,比较占用内存,生成的记录数=表1 X表2 select * from customer,orders; select * from customer cross join orders; 内连接查询内连接,inner join on 查询两张表,设定条件,将两张表中对应的数据查询出来 不会产生笛卡尔积,不会产生临时表,性能高 select * from customer c inner join orders o on c.id=o.customer_id; select * from customer,orders where customer.id=orders.customer_id; select * from customer c,orders o where c.id=o.customer_id; 左外连接左外连接 left join on 设定条件,将两张表对应的数据查询出来,同时将左表自己没有关联的数据也查询出来 注意:join前面是左,后面是右 select * from customer c left join orders o on c.id=o.customer_id; 右外连接右外连接 right join on 设定条件,将两张表对应的数据查询出来,同时将右表自己没有关联的所有数据查询出来 select * from customer c right join orders o on c.id=o.customer_id; 联合查询select * from customer left join orders on customer.id=orders.customer_id having price>20; (以上看起来会有点迷糊令人摸不到头脑 没关系w 我们接下来通过几个案例 来简单疏通一下) 1.案例一、 接下来我来给大家写几个案例(如下图): 1.查询名人表中性别是男的作者 2.查询静夜思的作者
3.查询李白和杜甫的年纪
4.查询白居易写的作品名称和对应代表句
5.名人表中男女的人数
6.查询年纪在25到30岁之间的 和人数
7.查询名人表年纪最小的两条
8.查询李白的作品名称 名句 和年纪
9.将作品为望岳的朝代修改为北宋
10.新增 名人表中的一个作者王维
2.案例二、
1.建库建表 填写数据
1)查询sc表中对应何昊老师所搜课程的女生信息
2)找出没有选修过何老师的课程的所有同学的姓名
3) 列出有不及格课程(成绩小于60)的学生姓名(敲重点)
3案例三 1.创建表 填入数据
1.查询孙姓用户的个数
2.查询年纪最大的两个用户名
3.查询李三购买的商品名
4.查询购买过电脑的用户
5.查询订单是909090对应的用户名和商品名
6.查询商品表中的最高价格的前两条数据
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |