mysql中join on_Mysql inner join on的用法实例(必看)
语法规则
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的用法实例(必看)相关推荐
- mySql中union all 及max,ifnull用法
mySql中union all 及max,ifnull用法 selectifnull(max(d.orderNum),0) totalNum,ifnull(max(d.money),0) totalM ...
- revoke mysql_浅谈MySQL中授权(grant)和撤销授权(revoke)用法详解
MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利 grant selec ...
- mysql revoke 授权_浅谈MySQL中授权(grant)和撤销授权(revoke)用法详解
MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利 grant selec ...
- 如何在MySQL中进行FULL OUTER JOIN?
我想在MySQL中进行完全外部联接. 这可能吗? MySQL是否支持完全外部联接? #1楼 在SQLite中,您应该这样做: SELECT * FROM leftTable lt LEFT JOIN ...
- MYSQL 中的LEFT( RIGHT ) JOIN使用ON 与WHERE 筛选的差异
2019独角兽企业重金招聘Python工程师标准>>> 有这样的一个问题:查询使用mysql中left(right)join筛选条件在on与where查询出的数据是否有差异. 可能只 ...
- mysql中的几种join 及 full join问题
[注意]:Oracle数据库支持full join,mysql是不支持full join的,但仍然可以同过左外连接+ union+右外连接实现 初始化SQL语句: /*join 建表语句*/ drop ...
- mysql排他锁和共享锁视频_分享MySQL 中的共享锁和排他锁的用法
在 MySQL 中的行级锁.表级锁和页级锁中,咱们介绍过,行级锁是 MySQL 中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突.行级锁分为共享锁和排他锁两种,本文将详细介绍共享锁和排他锁的概 ...
- mysql中show属于_mysql show的常见用法
a. show tables或show tables from database_name; // 显示当前数据库中所有表的名称 b. show databases; // 显示mysql中所有数据库 ...
- mysql中find_in_set()函数的使用及in()用法详解
From: http://www.manongjc.com/article/2710.html MySQL手册中find_in_set函数的语法解释: FIND_IN_SET(str,strlist) ...
最新文章
- c++11 function
- Linux系统资源管理 之 硬件信息
- HTML td 标签的 colspan 属性
- 谷歌浏览器mac_Mac用户浏览网页不可少的浏览器-谷歌Chrome
- eclipse安装birt插件
- linux消息队列操作
- MyBatis教程– CRUD操作和映射关系–第1部分
- java排序_Java实现九种排序算法3:插入排序之希尔排序
- ANSYS 15 直接优化分析
- 数据分析 超市条码_数据分析入门:商品分析是什么?该怎么做?
- 十年前的生活小技巧文章
- 猴子吃桃问题:一只小猴子摘了若干桃子,每天吃现有桃的一半多一个,到第10天时就只有一个桃子了,求原有多少个桃?请编程实现。(C++)(迭代法)
- 国产操作系统厂商 中科红旗Linux进入清算程序
- Microsoft Edge:你不能不知道的6个Web开发者工具
- 以前flyback的osdiy
- 动态合并单元格行和列方法封装 ~~~起手可用
- 【原】解决php 下 ie 无法下载 来自 无法打开该internet 站点 的问题
- Linux环境搭建记录——GitLab安装
- u大侠装服务器系统,U大侠U盘安装Ghost xp系统教程_教你怎么用U盘安装Windows XP系统 - U大侠,装机专家...
- 天声同化oracle,PLOS COMPUT BIOL:Glucoracle——糖尿病患者控制血糖的好帮手!
热门文章
- 苹果屏蔽更新_iOS 屏蔽更新的最新方法,完美支持 iOS13 系统
- qcow2 磁盘在线扩容方法
- 快速开平方取倒数的算法
- ncurses输出函数:字符+字符串的输出
- vc安装.zip_空间分析:4-1.分词模型hanLP简介与安装
- Flink之Watermark滑动窗口案例
- java play database_Play Framework连接到数据库
- 在线闹钟html代码复制,html5时钟实现代码
- OpenShift 4 - 在离线环境中用 oc-mirror 获取 OpenShift 和 Opeartor 的相关镜像
- OpenShift 4 之 GitOps(2)用ArgoCD部署应用