SQL连接操作_sql链接操作

| 2 | 2016-08-25 | haha | tengxun | 1 |
| 3 | 2016-08-31 | jiayou | wangyi | 1 |
| 9 | 2016-08-31 | happy | wangyi | 1 |
±—±-----------±----------------±--------±-------+



±----±-----------±--------+
| id | time | name |
±----±-----------±--------+
| 1 | 2016-08-30 | tengxun |
| 2 | 2016-09-10 | alibaba |
| 8 | NULL | haha |
| 9 | 2016-08-31 | wangyi |
| 100 | 2014-08-06 | 4399 |
±----±-----------±--------+


**二.Inner join**  
 内连接,也叫等值连接,inner join产生同时符合A和B的一组数据。



mysql> select * from recuit inner join exam on recuit.id=exam.id;
±—±-----------±----------------±--------±-------±—±-----------±--------+
| id | time | process | name | result | id | time | name |
±—±-----------±----------------±--------±-------±—±-----------±--------+
| 1 | 2016-08-31 | wait for result | baidu | 1 | 1 | 2016-08-30 | tengxun |
| 2 | 2016-08-25 | haha | tengxun | 1 | 2 | 2016-09-10 | alibaba |
| 9 | 2016-08-31 | happy | wangyi | 1 | 9 | 2016-08-31 | wangyi |
±—±-----------±----------------±--------±-------±—±-----------±--------+
3 rows in set (0.00 sec)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200121080550277.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODA1NDA0NQ==,size_16,color_FFFFFF,t_70)


**三.Left join**  
 left join,(或**left outer join:在Mysql中两者等价,推荐使用left join**.)左连接从左表(A)产生一套完整的记录,与匹配的记录(右表(B)) .如果没有匹配,右侧将包含null。



mysql> select * from recuit left join exam on recuit.id=exam.id;
±—±-----------±----------------±--------±-------±-----±-----------±--------+
| id | time | process | name | result | id | time | name |
±—±-----------±----------------±--------±-------±-----±-----------±--------+
| 1 | 2016-08-31 | wait for result | baidu | 1 | 1 | 2016-08-30 | tengxun |
| 2 | 2016-08-25 | haha | tengxun | 1 | 2 | 2016-09-10 | alibaba |
| 3 | 2016-08-31 | jiayou | wangyi | 1 | NULL | NULL | NULL |
| 9 | 2016-08-31 | happy | wangyi | 1 | 9 | 2016-08-31 | wangyi |
±—±-----------±----------------±--------±-------±-----±-----------±--------+
4 rows in set (0.00 sec)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200121080711634.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODA1NDA0NQ==,size_16,color_FFFFFF,t_70)


**四.Right join**



mysql> select * from recuit right join exam on recuit.id=exam.id;
±-----±-----------±----------------±--------±-------±----±-----------±--------+
| id | time | process | name | result | id | time | name |
±-----±-----------±----------------±--------±-------±----±-----------±--------+
| 1 | 2016-08-31 | wait for result | baidu | 1 | 1 | 2016-08-30 | tengxun |
| 2 | 2016-08-25 | haha | tengxun | 1 | 2 | 2016-09-10 | alibaba |
| 9 | 2016-08-31 | happy | wangyi | 1 | 9 | 2016-08-31 | wangyi |
| NULL | NULL | NULL | NULL | NULL | 8 | NULL | haha |
| NULL | NULL | NULL | NULL | NULL | 100 | 2014-08-06 | 4399 |
±-----±-----------±----------------±--------±-------±----±-----------±--------+
5 rows in set (0.00 sec)


同left join,只不过是保留了表B的项目,表A中没有相对应的项被置为NULL。


**五.Cross join**  
 cross join:交叉连接,得到的结果是两个表的乘积,即笛卡尔积



笛卡尔(Descartes)乘积又叫直积。假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1), (a,2),(b,0),(b,1), (b,2)}。可以扩展到多个集合的情况。类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选 课情况。



mysql> select * from recuit cross join exam;
±—±-----------±----------------±--------±-------±----±-----------±--------+
| id | time | process | name | result | id | time | name |
±—±-----------±----------------±--------±-------±----±-----------±--------+
| 1 | 2016-08-31 | wait for result | baidu | 1 | 1 | 2016-08-30 | tengxun |
| 2 | 2016-08-25 | haha | tengxun | 1 | 1 | 2016-08-30 | tengxun |
| 3 | 2016-08-31 | jiayou | wangyi | 1 | 1 | 2016-08-30 | tengxun |
| 9 | 2016-08-31 | happy | wangyi | 1 | 1 | 2016-08-30 | tengxun |
| 1 | 2016-08-31 | wait for result | baidu | 1 | 2 | 2016-09-10 | alibaba |
| 2 | 2016-08-25 | haha | tengxun | 1 | 2 | 2016-09-10 | alibaba |
| 3 | 2016-08-31 | jiayou | wangyi | 1 | 2 | 2016-09-10 | alibaba |
| 9 | 2016-08-31 | happy | wangyi | 1 | 2 | 2016-09-10 | alibaba |
| 1 | 2016-08-31 | wait for result | baidu | 1 | 8 | NULL | haha |
| 2 | 2016-08-25 | haha | tengxun | 1 | 8 | NULL | haha |
| 3 | 2016-08-31 | jiayou | wangyi | 1 | 8 | NULL | haha |
| 9 | 2016-08-31 | happy | wangyi | 1 | 8 | NULL | haha |
| 1 | 2016-08-31 | wait for result | baidu | 1 | 9 | 2016-08-31 | wangyi |
| 2 | 2016-08-25 | haha | tengxun | 1 | 9 | 2016-08-31 | wangyi |
| 3 | 2016-08-31 | jiayou | wangyi | 1 | 9 | 2016-08-31 | wangyi |
| 9 | 2016-08-31 | happy | wangyi | 1 | 9 | 2016-08-31 | wangyi |
| 1 | 2016-08-31 | wait for result | baidu | 1 | 100 | 2014-08-06 | 4399 |

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值