Mysql inner join on的用法實(shí)例(必看)
語(yǔ)法規(guī)則
SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name
先創(chuàng)建兩個(gè)表,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;
插入一些數(shù)據(jù)到user表
INSERT INTO `user` VALUES (1,'小明',1),(2,'小紅',1),(3,'涵涵',2);插入一些數(shù)據(jù)到 userkind表
INSERT INTO `userkind` VALUES (1,'普通會(huì)員'),(2,'VIP會(huì)員');
如圖:

下面是控制臺(tái)的查詢例子:
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 | 普通會(huì)員 | | 2 | VIP會(huì)員 | +----+----------+ 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 | 普通會(huì)員 | | 2 | 小紅 | 1 | 1 | 普通會(huì)員 | | 3 | 涵涵 | 2 | 2 | VIP會(huì)員 | +----+------+--------+----+----------+ 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 | 小明 | 普通會(huì)員 | | 2 | 小紅 | 普通會(huì)員 | | 3 | 涵涵 | VIP會(huì)員 | +--------+--------+----------+ 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 | 小明 | 普通會(huì)員 | | 2 | 小紅 | 普通會(huì)員 | | 3 | 涵涵 | VIP會(huì)員 | +--------+--------+----------+ 3 rows in set (0.00 sec) mysql>
需要注意的是: 這里的on 基本等價(jià)于where(本人感覺)
當(dāng) column (字段) 兩個(gè)表都有 卻分不清時(shí),需要用`表名`.`字段名` 進(jìn)行分辨。
as就是取別名了??瓷厦胬泳椭溃?/p>
以上這篇Mysql inner join on的用法實(shí)例(必看)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- SQL中INNER JOIN的實(shí)現(xiàn)
- MySQL INNER JOIN 的底層實(shí)現(xiàn)原理分析
- MySQL中的 inner join 和 left join的區(qū)別解析(小結(jié)果集驅(qū)動(dòng)大結(jié)果集)
- SQL聯(lián)合查詢inner join、outer join和cross join的區(qū)別詳解
- SQL之left join、right join、inner join的區(qū)別淺析
- MySQL中視圖的使用及多表INNER JOIN的技巧分享
- MYSQL使用inner join 進(jìn)行 查詢/刪除/修改示例
- 超詳細(xì)mysql left join,right join,inner join用法分析
- MSSQL內(nèi)外連接(INNER JOIN)語(yǔ)句詳解
- SQL中的INNER?JOIN操作方法
相關(guān)文章
mysql錯(cuò)誤處理之ERROR 1786 (HY000)
最近一直在mysql的各個(gè)版本直接徘徊,這中間遇到了各種各樣的錯(cuò)誤,將已經(jīng)處理完畢的幾個(gè)錯(cuò)誤整理了一下,分享給大家,首先我們來(lái)看看錯(cuò)誤提示 ERROR 1786 (HY000)2014-07-07
MySQL查詢數(shù)據(jù)庫(kù)所有表名以及表結(jié)構(gòu)其注釋(小白專用)
查詢數(shù)據(jù)庫(kù)所有表的表名、備注,其實(shí)也是比較常見的操作,這篇文章主要給大家介紹了關(guān)于MySQL查詢數(shù)據(jù)庫(kù)所有表名以及表結(jié)構(gòu)其注釋的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08
MySQL的事務(wù)的基本要素和事務(wù)隔離級(jí)別詳解
這篇文章主要介紹了MySQL的事務(wù)的基本要素和事務(wù)隔離級(jí)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
如何解決docker無(wú)法啟動(dòng)的問(wèn)題
這篇文章主要介紹了如何解決docker無(wú)法啟動(dòng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
Mysql存儲(chǔ)過(guò)程學(xué)習(xí)筆記--建立簡(jiǎn)單的存儲(chǔ)過(guò)程
我們常用的操作數(shù)據(jù)庫(kù)語(yǔ)言SQL語(yǔ)句在執(zhí)行的時(shí)候需要要先編譯,然后執(zhí)行,而存儲(chǔ)過(guò)程(Stored Procedure)是一組為了完成特定功能的SQL語(yǔ)句集,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)中,用戶通過(guò)指定存儲(chǔ)過(guò)程的名字并給定參數(shù)(如果該存儲(chǔ)過(guò)程帶有參數(shù))來(lái)調(diào)用執(zhí)行它。2014-08-08
CenOS6.7下mysql 8.0.22 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了CenOS6.7下mysql 8.0.22 安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
MySQL學(xué)習(xí)第二天 安裝和配置mysql winx64
MySQL學(xué)習(xí)第二天,主要為大家詳細(xì)介紹了在Windows 64位操作系統(tǒng)下安裝和配置MySQL的具體步驟,整理一份mysql winx64安裝配置方法教程,感興趣的小伙伴們可以參考一下2016-05-05

