1. 建表 CREATE TABLE `student` ( `id` int(11) NOT NULL, `name` varchar(255) CHARA
CREATE TABLE `student` (
`id` int(11) NOT NULL,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`age` int(11) NULL 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(11) NOT NULL,
`sid` int(11) NULL DEFAULT NULL,
`grade` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
INSERT INTO `grade` VALUES (1, 1, 100);
INSERT INTO `grade` VALUES (2, 2, 80);
INSERT INTO `grade` VALUES (3, 3, 99);
INSERT INTO `grade` VALUES (4, 4, 66);
内连接中and和where没有区别,都是取连接后的结果进行条件筛选。
2.1 不加条件
2.2 and 条件
2.3 where 条件
3.1 不加条件
3.2 and 条件
left join中以左表全匹配进行连接,之后使用and进行筛选;不符合条件的左表数据保留,右表数据为null。
3.3 where 条件
在left join 中以左表全匹配进行连接,之后以where进行筛选;只筛选符合条件的数据。
同3中left join,只是基表相反。
到此这篇关于Mysql连接查询中and与where区别的文章就介绍到这了,更多相关mysql连接查询and与where内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: mysql连接查询中and与where的区别浅析
本文链接: https://www.lsjlt.com/news/129628.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0