您好,登錄后才能下訂單哦!
小編給大家分享一下mysql中join和on怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
用法:1、join用于根據兩個或多個表中的列之間的關系,獲取存在于不同表中的數據,具有連接的作用,語法為“表1 join 表2”;2、on用于給連接的兩個表之間添加約束條件,語法為“表1 join 表2 on 條件”。
本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
MySQL中join的用法:join具有連接的作用,即當兩個或者兩個以上的表有關系時,需要用join來連接這些相關的表,來處理或分析數據:
例如: 有一個表叫做stu,一個表叫class,stu join class會生成一個新的表,
我們執行: stu join class 后,新的表成為:
通過上面的例子總結一下:
join后的列名是兩個表列名加起來的,可能會產生相同的列名,如id 和 name
先用表stu中的一行數據和表class中的每一行數據不斷的拼接,產生新的行
再用表stu的第二行去和表class中的每一行數據拼接,以此類推
表stu是3行,表class是2行,所以按照上面的規律會產成3*2 = 6行的新的表
一般我們join后的表,并不是我們想要的,這時,可以用 ON 來加一些條件:
例如:stu join class on classid = class.id ,on后面就是我們加的條件,我們想要classid這一列數據和id這一列的數據相等的數據,這里注意一下,join后的表列名是有重復的,所以ON后面的條件語句中我們要加上原來的表名。例如這里:classid = class.id,由于id有兩列,這里我們是要表class中的id,所是是class.id。
所以: 執行:stu join class on classid = class.id 后,表變為:
小提示:當只有join時,其后面的on可以用where替換;
mysql -u root -p # 登錄數據庫,輸入密碼 CREATE DATABASE new; # 創建數據庫new use new; # 使用這個數據庫 CREATE TABLE stu(id int primary key,name char(10),classid int)default charset = utf8mb4; # 創建表stu INSERT INTO stu (id,name,classid)VALUES(1,'A',1),(2,'B',1),(3,"C",2); # 插入數據 SELET * FROM stu;
CREATE TABLE class(id int primary key,name char(10),teacher char(10))default charset = utf8mb4; # 創建表class INSERT INTO class (id,name,teacher)VALUES(1,'實驗班',"小紅"),(2,'普通班',"小藍"); # 插入數據 SELECT * FROM class;
SELECT * FROM stu join class; # 用join連接兩個表
SELECT * FROM stu join class ON classid = class.id; # 用on來添加條件
以上是“mysql中join和on怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。