左右连接是一个性质所以我这里以左连接为例,写了一个小例子:

用到连接的时候on会常用到,

on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。

简单解释就是假设两个表A、B。

以A表为左,B表为右。

如果是ON A.key = B.key,如果符合条件那么B表的内容也会列出来

如果不符合条件 那么A表的属性会显示,但是B表的内容就全部显示为NULL

可以把我的代码复制一下试试,我的建表方式比较蠢花了很长时间。你萌可以自己采用自己的方式

mysql> create table demo1(
-> id int,
-> name varchar(10),
-> pwd varchar(9));
Query OK, 0 rows affected (1.28 sec) mysql> create table demo2(
-> son int,
-> em varchar(9),
-> name varchar(10),
-> pwd varchar(8));
Query OK, 0 rows affected (1.56 sec) mysql> insert into demo1 values(1,"hj","hj");
Query OK, 1 row affected (0.09 sec) mysql> insert into demo1 values(2,"hx","hx");
Query OK, 1 row affected (0.11 sec) mysql> insert into demo1 values(3,"zzd","zzd1");
Query OK, 1 row affected (0.11 sec) mysql> insert into demo2 values(1,"zz","zz123","zzd");
Query OK, 1 row affected (0.15 sec) mysql> insert into demo2 values(2,"hh","hh123","HH");
Query OK, 1 row affected (0.11 sec) mysql> insert into demo2 values(3,"HIAHIA","hj","hx");
Query OK, 1 row affected (0.15 sec) mysql> select s.*,d.* from demo1 s LEFT JOIN demo2 d ON s.name = d.name;
+------+------+------+------+--------+------+------+
| id | name | pwd | son | em | name | pwd |
+------+------+------+------+--------+------+------+
| 1 | hj | hj | 3 | HIAHIA | hj | hx |
| 2 | hx | hx | NULL | NULL | NULL | NULL |
| 3 | zzd | zzd1 | NULL | NULL | NULL | NULL |
+------+------+------+------+--------+------+------+
3 rows in set (0.01 sec) mysql>

aaarticlea/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" alt="点击并拖拽以移动">

mysql中的on的更多相关文章

  1. MySQL中You can't specify target table for update in FROM clause一场

    mysql中You can't specify target table <tbl> for update in FROM clause错误的意思是说,不能先select出同一表中的某些值 ...

  2. MySql中in和exists效率

    mysql中的in语句是把外表和内表作hash 连接,而exists语句是对外表作loop循环,每次loop循环再对内表进行查询.一直大家都认为exists比in语句的效率要高,这种说法其实是不准确的 ...

  3. [原创]MYSQL中利用外键实现级联删除和更新

    MySQL中利用外键实现级联删除.更新 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定 ...

  4. mysql中的多行查询结果合并成一个

    SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 ...

  5. 【转】MySql中的函数

    原文:http://www.cnblogs.com/kissdodog/p/4168721.html MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: ...

  6. sqlserver 中数据导入到mysql中的方法以及注意事项

    数据导入从sql server 到mysql (将数据以文本格式从sqlserver中导出,注意编码格式,再将文本文件导入mysql中): 1.若从slqserver中导出的表中不包含中文采用: bc ...

  7. MySQL中有关TIMESTAMP和DATETIME的总结

    一.MySQL中如何表示当前时间? 其实,表达方式还是蛮多的,汇总如下: CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME ...

  8. MySQL中索引和优化的用法总结

    1.什么是数据库中的索引?索引有什么作用? 引入索引的目的是为了加快查询速度.如果数据量很大,大的查询要从硬盘加载数据到内存当中. 2.InnoDB中的索引原理是怎么样的? InnoDB是Mysql的 ...

  9. B-Tree索引在sqlserver和mysql中的应用

    在谈论数据库性能优化的时候,通常都会提到“索引”,但很多人其实并没有真正理解索引,也没有搞清楚索引为什么就能加快检索速度,以至于在实践中并不能很好的应用索引.事实上,索引是一种廉价而且十分有效的优化手 ...

  10. MySQL中CURRENT_TIMESTAMP(转)

    1. MySQL 获得当前时间戳函数:current_timestamp, current_timestamp()  代码如下   mysql> select current_timestamp ...

随机推荐

  1. HTTP的响应码?

    响应头对浏览器来说很重要,它说明了响应的真正含义.例如200表示响应成功了,302表示重定向,这说明浏览器需要再发一个新的请求. l 200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览 ...

  2. 初识Mybatis之工程搭建

    简介:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 ...

  3. 多线程的join功能

    import threading import time def thread_job(): print("T1 start\n") for i in range(30): tim ...

  4. sql问题处理

    批量杀死MySQL连接 select concat('KILL ',id,';') from information_schema.processlist where Info like 'selec ...

  5. Sed 实记 · laoless's Blog

    sed编辑命令 p 打印匹配行 = 打印文件行号 a 在定位行之后追加文本 i 在定位行之前插入文本 d 删除定位行 c 用新文本替换定位文本 s 使用替换模式替换相应模式 r 从另一个文件读取文本 ...

  6. Ubunt 16.04 安装 Beyond compare 4

    1. 下载安装包: 2. 安装步骤 3. 运行并注册 之前Beyond compare 3 只有32位,在Ubunt 16.04上运行效率非常低,所以只有安装最新的Beyond compare 4,安 ...

  7. SpringBoot快速上手系列01:入门

    1.环境准备 1.1.Maven安装配置 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件. 下载Maven可执行文件 cd /usr/local ...

  8. Cenots 7 通过Yum 安装Node.js 报错问题

    环境:CentOS Linux release 7.3.1611 (Core) 安装报错信息: [cenots7@localhost ~]$ sudo yum -y install npm Loade ...

  9. Ueditor富文本编辑器--Ctrl V 粘贴后原有图片显示错误

    最近负责将公司官网从静态网站改版成动态网站,方便公司推广营销人员修改增加文案,避免官网文案维护过于依赖技术人员.在做后台管理系统时用到了富文本编辑器Ueditor,因为公司有一个阿里云文件资源服务器, ...

  10. 从0到1,本地到远程git程序过程

    从0到1,本地到远程git程序过程 切记一定要在需要提交代码的文件夹下git init,既是你使用了什么 tortoisegit什么工具,或者你在idea环境下已经add了,但是仍然需要你在当前文件夹 ...