MySQL:连接查询

连接查询是将两个或两个以上的表按照某个条件连接起来,从中选取需要的数据;

查询t_book表数据

在这里插入图片描述

查询t_bookType表数据

在这里插入图片描述

1、内连接查询

內连接查询是一种最常用的连接查询。内连接查询可以查询两个或者两个以上的表;

SELECT * FROM t_book,t_booktype;

在这里插入图片描述

SELECT * FROM t_book,t_booktype WHERE t_book.bookTypeId = t_booktype.id;/*内连接*/

在这里插入图片描述

SELECT bookName,price,booktypeName FROM t_book,t_booktype WHERE t_book.bookTypeId = t_booktype.id;/*内连接  只显示一部分字段,这样查询不好,如果字段多的话,比较混乱,需要使用到别名,如下面: 使用别名查询*/

在这里插入图片描述

使用别名查询

SELECT tb.bookName,tb.price,tby.booktypeName FROM t_book tb,t_booktype tby WHERE tb.bookTypeId = tby.id;/*内连接  使用别名查询*/

在这里插入图片描述

2、外连接查询

外连接可以查出某一张表的所有信息;
SELECT 属性名列表 FROM 表名 1 LEFT或者 RIGHT JOIN 表名2 ON 表名1.属性名1-表名2.層性名2;
提醒:
外连接,有时候查询,需要把某张表的某个字段全部显示出来,哪怕另外一张表没有字段显示为null

2.1、左连接查询

SELECT * FROM 表名1 LEFT JOIN 表名2 ON 条件 可以查询出“表名1”的所有记录,而“表名2”中,只能查询出匹配的记录;

/*左连接 左边的表数据全部显示出来*/
SELECT * FROM t_book LEFT JOIN t_booktype ON t_book.bookTypeId = t_booktype.id;

在这里插入图片描述

SELECT tb.bookName,tb.price,tby.booktypeName FROM t_book tb LEFT JOIN t_booktype tby ON tb.bookTypeId = tby.id;

在这里插入图片描述

2.2、右连接查询

SELECT * FROM 表名1 RIGHT JOIN 表名2 ON 条件可以查询出“表名2”的所有记录,而“表名1”中,只能查询出匹配的记录;

SELECT * FROM t_book RIGHT JOIN t_booktype ON t_book.bookTypeId = t_booktype.id;

在这里插入图片描述

SELECT tb.bookName,tb.price,tby.booktypeName FROM t_book tb RIGHT JOIN t_booktype tby ON tb.bookTypeId = tby.id;

在这里插入图片描述

3、多条件连接查询

由多个条件组合进行查询的,使用多个条件连接查询可以实现复杂条件的组合
使用多个条件连接查询是一种常用的技术,它能够帮助开发人员实现更加灵活复杂的查询,提高查询的效率。
如下是使用多个条件连接查询的一个示例:

SELECT 字段1, 字段2…FROM 表1 LEFT JOIN 表2 ON 表1.字段1=表2.字段1 WHERE 条件1 and 条件2 and 条件3;

SELECT tb.bookName,tb.price,tby.booktypeName FROM t_book tb LEFT JOIN t_booktype tby ON tb.bookTypeId = tby.id WHERE tb.bookTypeId > 5 AND tb.price > 20;

在这里插入图片描述

SELECT tb.bookName,tb.price,tby.booktypeName FROM t_book tb,t_booktype tby WHERE tb.bookTypeId = tby.id AND tb.price > 20;

在这里插入图片描述

推荐

MySQL:常用的SQL语句

欢迎关注我的公众号,不定期推送优质的文章,
微信扫一扫下方二维码即可关注。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值