MySQL_MySQL数据库表的join操作

1.引入
   我们的开发需求中,会经常使用到俩张数据库表的关联操作,根据我们不同的需求,需要对这俩张表进行不同的操作。无论我们怎么样操作,其结果都是这俩张表里面的内容。我们通过join的操作,可以获取数据库表里面的任何内容。下面,我们根据俩张数据库表进行理解。

2.创建测试数据库表

  (1).创建员工表(employee)

DROP TABLE IF EXISTS `employee`;
CREATE TABLE `employee` (
  `employee_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(25) NOT NULL,
  `phone_num` bigint(20) DEFAULT NULL,
  `salery` int(20) DEFAULT NULL,
  `position_id` int(20) DEFAULT NULL,
  PRIMARY KEY (`employee_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of employee
-- ----------------------------
INSERT INTO `employee` VALUES ('1', '张三', '12345678901', '1200', '1');
INSERT INTO `employee` VALUES ('2', '李四', '12345678902', '5600', '2');
INSERT INTO `employee` VALUES ('3', '王五', '12345678903', '12000', '3');
INSERT INTO `employee` VALUES ('4', '王二麻子', '12345678904', '7800', '4');
INSERT INTO `employee` VALUES ('5', '赵四', '12345678905', '1000', '10');

 (2).创建部门职位表(position)

DROP TABLE IF EXISTS `position`;
CREATE TABLE `position` (
  `position_id` int(11) NOT NULL,
  `department_name` varchar(50) DEFAULT NULL,
  `position` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`position_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of position
-- ----------------------------
INSERT INTO `position` VALUES ('1', '研发部', '项目经理');
INSERT INTO `position` VALUES ('2', '研发部', '技术总监');
INSERT INTO `position` VALUES ('3', '市场部', '销售总监');
INSERT INTO `position` VALUES ('4', '市场部', '售后人员');
INSERT INTO `position` VALUES ('99', '董事会', '总经理');

3.数据库表之间的join操作(A:employee,B:position)

(1).操作1:如图所示,查询表employee内容:

   sql操作以及结果:

(2).操作2:如图所示,查询表position内容:

 sql操作以及结果:

(3).操作3:如图,employee中扣除position表内容 

 sql操作以及结果:

(4).操作4:如图,employee表和position表交集部分 

 sql操作以及结果: 

(5).操作5:如图,position表中扣除position表部分 

 sql操作以及结果: 

(6).操作6:如图,position表和position并集

 sql操作以及结果: 

MySQL数据库不支持full join,那么在使用的时候我们可以使用unoin

 

(6).操作6:如图,position表和position并集扣除俩表的交集

 sql操作以及结果: 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔笛手7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值