美文网首页
mysql关联查询

mysql关联查询

作者: w_dll | 来源:发表于2020-01-05 11:33 被阅读0次

关联查询:数据查询是Mysql数据库管理最重要的一个功能,连接查询是关系型数据库最主要的查询,包括了内连接(INNER JOIN),外链接(LEFT JOIN,RIGHT JOIN)等,通过连接可以实现多个表的同时查询。

基本定义:
  left join (左连接):返回包括左表中的所有记录和右表中连接字段相等的记录。
  right join (右连接):返回包括右表中的所有记录和左表中连接字段相等的记录。
  inner join (等值连接或者叫内连接):只返回两个表中连接字段相等的行。
  full join (全外连接):返回左右表中所有的记录和左右表中连接字段相等的记录。

准备

新建两张表

CREATE TABLE `a_table` (
  `a_id` int(11) DEFAULT NULL,
  `a_name` varchar(10) DEFAULT NULL,
  `a_part` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `b_table` (
  `b_id` int(11) DEFAULT NULL,
  `b_name` varchar(10) DEFAULT NULL,
  `b_part` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

插入数据

INSERT INTO `a_table` VALUES(1,'赵','销售');
INSERT INTO `a_table` VALUES(2,'钱','技术');
INSERT INTO `a_table` VALUES(3,'孙','人事');
INSERT INTO `a_table` VALUES(4,'李','销售');
a.PNG
INSERT INTO `b_table` VALUES(2,'钱','技术');
INSERT INTO `b_table` VALUES(4,'李','销售');
INSERT INTO `b_table` VALUES(6,'周','技术');
INSERT INTO `b_table` VALUES(8,'吴','人事');
b.PNG

内连接

select * from a_table a inner join b_table b on a.a_id = b.b_id;
inner.PNG
将表a_table和表b_table中a.id和b.id相同的行筛选出,相当于求交集
inner2.png

左连接

select * from a_table a left join b_table b on a.a_id = b.b_id;
left.PNG
左表(a_table)的记录将会全部表示出来,而右表(b_table)只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。
left2.png

右连接

select * from a_table a right join b_table b on a.a_id = b.b_id;
right.PNG
和左连接规则相反
right2.png

参考链接

链接1
链接2

相关文章

  • 第六章 查询性能优化(下)

    MySQL查询优化器的局限性 关联子查询 MySQL的关联子查询实现的很差,最好改成左外连接(LEFT OUTER...

  • 使用 PDO 关联查询 MySQL 数据

    使用pdo关联查询mysql数据 附上几个操作图

  • 查询性能优化

    MySQL查询优化器的局限性 关联子查询 MySQL的子查询实现的非常糟糕,最糟糕的一类查询是where条件中包含...

  • SQL执行与优化

    SQL优化 执行计划,表关联查询顺序,优化策略与思路 MYSQL执行过程 一、MySQL架构总览: 二、查询执行流...

  • mysql查询去重

    mysql两个字段关联查询去重 //查询重复SELECT * from (SELECT *, CONCAT(a,b...

  • Mysql关联查询

    左外连接

  • MySql查询-自关联

    设计省信息的表结构provincesidptitle 设计市信息的表结构citysidctitleproid ci...

  • mysql关联查询

    1.在数据库中建立两张需要使用的表 1.1第一张表t_sys_user 1.2第二张表t_course 1.3在两...

  • mysql关联查询

    select * from tab1 t; select * from tab2 t; select * from...

  • mysql关联查询

    关联查询:数据查询是Mysql数据库管理最重要的一个功能,连接查询是关系型数据库最主要的查询,包括了内连接(INN...

网友评论

      本文标题:mysql关联查询

      本文链接:https://www.haomeiwen.com/subject/kevqactx.html