温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql连接查询中and与where的区别是什么

发布时间:2021-07-02 09:40:38 阅读:116 作者:小新 栏目:开发技术
亿速云mysql数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

小编给大家分享一下mysql连接查询中and与where的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1. 建表

CREATE TABLE `student`  (
  `id` int(11NOT NULL,
  `name` varchar(255CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `age` int(11NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;


INSERT INTO `student` VALUES (1'张三'12);
INSERT INTO `student` VALUES (2'李四'12);
INSERT INTO `student` VALUES (3'王五'12);
INSERT INTO `student` VALUES (4'赵六'12);
INSERT INTO `student` VALUES (5'孙七'12);
INSERT INTO `student` VALUES (6'王八'12);
CREATE TABLE `grade`  (
  `id` int(11NOT NULL,
  `sid` int(11NULL DEFAULT NULL,
  `grade` int(11NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

INSERT INTO `grade` VALUES (11100);
INSERT INTO `grade` VALUES (2280);
INSERT INTO `grade` VALUES (3399);
INSERT INTO `grade` VALUES (4466);

2. inner join-内连接

内连接中and和where没有区别,都是取连接后的结果进行条件筛选。

2.1 不加条件

mysql连接查询中and与where的区别是什么

2.2 and 条件

mysql连接查询中and与where的区别是什么

2.3 where 条件

mysql连接查询中and与where的区别是什么

3. left join - 左外连接

3.1 不加条件

mysql连接查询中and与where的区别是什么

3.2 and 条件

left join中以左表全匹配进行连接,之后使用and进行筛选;不符合条件的左表数据保留,右表数据为null。

mysql连接查询中and与where的区别是什么

3.3 where 条件

在left join 中以左表全匹配进行连接,之后以where进行筛选;只筛选符合条件的数据。

mysql连接查询中and与where的区别是什么

4. right join

同3中left join,只是基表相反。

以上是“mysql连接查询中and与where的区别是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×