语法规则

SELECT column_name(s)

FROM table_name1

INNER JOIN table_name2

ON table_name1.column_name=table_name2.column_name

先创建两个表,1.用户,2.用户类别

用户表

CREATE TABLE `user` (

`id` int(32) NOT NULL AUTO_INCREMENT,

`name` varchar(16) NOT NULL,

`kindid` int(32) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

用户类别表

CREATE TABLE `userkind` (

`id` int(32) NOT NULL AUTO_INCREMENT,

`kindname` varchar(16) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

插入一些数据到user表

INSERT INTO `user` VALUES (1,'小明',1),(2,'小红',1),(3,'涵涵',2);插入一些数据到 userkind表

INSERT INTO `userkind` VALUES (1,'普通会员'),(2,'VIP会员');

如图:

下面是控制台的查询例子:

Enter password: ****

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.5.40 MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use join;

Database changed

mysql> select * from `user`;

+----+------+--------+

| id | name | kindid |

+----+------+--------+

| 1 | 小明 | 1 |

| 2 | 小红 | 1 |

| 3 | 涵涵 | 2 |

+----+------+--------+

3 rows in set (0.00 sec)

mysql> select * from `userkind`;

+----+----------+

| id | kindname |

+----+----------+

| 1 | 普通会员 |

| 2 | VIP会员 |

+----+----------+

2 rows in set (0.00 sec)

mysql> select * from `user` inner join `userkind` on user.kindid=userkind.id;

+----+------+--------+----+----------+

| id | name | kindid | id | kindname |

+----+------+--------+----+----------+

| 1 | 小明 | 1 | 1 | 普通会员 |

| 2 | 小红 | 1 | 1 | 普通会员 |

| 3 | 涵涵 | 2 | 2 | VIP会员 |

+----+------+--------+----+----------+

3 rows in set (0.02 sec)

mysql> select `id` as `用户ID`,`name` as `用户名`,`kindname` as `用户类别` from

`user` inner join `userkind` where user.kindid=userkind.id;

ERROR 1052 (23000): Column 'id' in field list is ambiguous

mysql> select `user`.`id` as `用户ID`,`name` as `用户名`,`kindname` as `用户类别

` from

-> `user` inner join `userkind` where `user`.`kindid`=`userkind`.`id`;

+--------+--------+----------+

| 用户ID | 用户名 | 用户类别 |

+--------+--------+----------+

| 1 | 小明 | 普通会员 |

| 2 | 小红 | 普通会员 |

| 3 | 涵涵 | VIP会员 |

+--------+--------+----------+

3 rows in set (0.00 sec)

mysql> select `user`.`id` as `用户ID`,`name` as `用户名`,`kindname` as `用户类别

` from `user` inner join `userkind` on `user`.`kindid`=`userkind`.`id`;

+--------+--------+----------+

| 用户ID | 用户名 | 用户类别 |

+--------+--------+----------+

| 1 | 小明 | 普通会员 |

| 2 | 小红 | 普通会员 |

| 3 | 涵涵 | VIP会员 |

+--------+--------+----------+

3 rows in set (0.00 sec)

mysql>

需要注意的是:这里的on 基本等价于where(本人感觉)

当 column (字段) 两个表都有 却分不清时,需要用`表名`.`字段名` 进行分辨。

as就是取别名了。看上面例子就知道!

以上这篇Mysql inner join on的用法实例(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

mysql中join on_Mysql inner join on的用法实例(必看)相关推荐

  1. mySql中union all 及max,ifnull用法

    mySql中union all 及max,ifnull用法 selectifnull(max(d.orderNum),0) totalNum,ifnull(max(d.money),0) totalM ...

  2. revoke mysql_浅谈MySQL中授权(grant)和撤销授权(revoke)用法详解

    MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利 grant selec ...

  3. mysql revoke 授权_浅谈MySQL中授权(grant)和撤销授权(revoke)用法详解

    MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利 grant selec ...

  4. 如何在MySQL中进行FULL OUTER JOIN?

    我想在MySQL中进行完全外部联接. 这可能吗? MySQL是否支持完全外部联接? #1楼 在SQLite中,您应该这样做: SELECT * FROM leftTable lt LEFT JOIN ...

  5. MYSQL 中的LEFT( RIGHT ) JOIN使用ON 与WHERE 筛选的差异

    2019独角兽企业重金招聘Python工程师标准>>> 有这样的一个问题:查询使用mysql中left(right)join筛选条件在on与where查询出的数据是否有差异. 可能只 ...

  6. mysql中的几种join 及 full join问题

    [注意]:Oracle数据库支持full join,mysql是不支持full join的,但仍然可以同过左外连接+ union+右外连接实现 初始化SQL语句: /*join 建表语句*/ drop ...

  7. mysql排他锁和共享锁视频_分享MySQL 中的共享锁和排他锁的用法

    在 MySQL 中的行级锁.表级锁和页级锁中,咱们介绍过,行级锁是 MySQL 中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突.行级锁分为共享锁和排他锁两种,本文将详细介绍共享锁和排他锁的概 ...

  8. mysql中show属于_mysql show的常见用法

    a. show tables或show tables from database_name; // 显示当前数据库中所有表的名称 b. show databases; // 显示mysql中所有数据库 ...

  9. mysql中find_in_set()函数的使用及in()用法详解

    From: http://www.manongjc.com/article/2710.html MySQL手册中find_in_set函数的语法解释: FIND_IN_SET(str,strlist) ...

最新文章

  1. c++11 function
  2. Linux系统资源管理 之 硬件信息
  3. HTML td 标签的 colspan 属性
  4. 谷歌浏览器mac_Mac用户浏览网页不可少的浏览器-谷歌Chrome
  5. eclipse安装birt插件
  6. linux消息队列操作
  7. MyBatis教程– CRUD操作和映射关系–第1部分
  8. java排序_Java实现九种排序算法3:插入排序之希尔排序
  9. ANSYS 15 直接优化分析
  10. 数据分析 超市条码_数据分析入门:商品分析是什么?该怎么做?
  11. 十年前的生活小技巧文章
  12. 猴子吃桃问题:一只小猴子摘了若干桃子,每天吃现有桃的一半多一个,到第10天时就只有一个桃子了,求原有多少个桃?请编程实现。(C++)(迭代法)
  13. 国产操作系统厂商 中科红旗Linux进入清算程序
  14. Microsoft Edge:你不能不知道的6个Web开发者工具
  15. 以前flyback的osdiy
  16. 动态合并单元格行和列方法封装 ~~~起手可用
  17. 【原】解决php 下 ie 无法下载 来自 无法打开该internet 站点 的问题
  18. Linux环境搭建记录——GitLab安装
  19. u大侠装服务器系统,U大侠U盘安装Ghost xp系统教程_教你怎么用U盘安装Windows XP系统 - U大侠,装机专家...
  20. 天声同化oracle,PLOS COMPUT BIOL:Glucoracle——糖尿病患者控制血糖的好帮手!

热门文章

  1. 苹果屏蔽更新_iOS 屏蔽更新的最新方法,完美支持 iOS13 系统
  2. qcow2 磁盘在线扩容方法
  3. 快速开平方取倒数的算法
  4. ncurses输出函数:字符+字符串的输出
  5. vc安装.zip_空间分析:4-1.分词模型hanLP简介与安装
  6. Flink之Watermark滑动窗口案例
  7. java play database_Play Framework连接到数据库
  8. 在线闹钟html代码复制,html5时钟实现代码
  9. OpenShift 4 - 在离线环境中用 oc-mirror 获取 OpenShift 和 Opeartor 的相关镜像
  10. OpenShift 4 之 GitOps(2)用ArgoCD部署应用