中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL進行多表查詢的方法

發布時間:2020-08-25 14:14:47 來源:億速云 閱讀:291 作者:小新 欄目:MySQL數據庫

這篇文章主要介紹了MySQL進行多表查詢的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

一、使用SELECT子句進行多表查詢

SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查詢條件

例:

SELECT a.id,a.name,a.address,a.date,b.math,b.english,b.chinese FROM tb_demo065_tel AS b,tb_demo065 AS a WHERE a.id=b.id

注:在上面的的代碼中,以兩張表的id字段信息相同作為條件建立兩表關聯,但在實際開發中不應該這樣使用,最好用主外鍵約束來實現

二、使用表的別名進行多表查詢

示例:

SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065  a,tb_demo065_tel  b WHERE a.id=b.id AND b.id='$_POST[textid]'

SQL語言中,可以通過兩種方式為表指定別名:

1、通過關鍵字AS指定,如

SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 AS a,tb_demo065_tel AS b WHERE a.id=b.id

2、在表名后直接加表的別名實現

SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065  a,tb_demo065_tel  b WHERE a.id=b.id

使用表的別名應注意幾下幾點

● (1別名通常是一個縮短了的表名,用于在連接中引用表中的特定列,如果連接中的多個表中有相同的名稱列存在,必須用表名或表的別名限定列名
● 如果定義了表的別名就不能再使用表名

三、簡單嵌套查詢(子查詢、內連接)

子查詢:子查詢是一個SELECT查詢,返回單個值且嵌套在SELECT、INSERT、UPDATE和DELETE語句或其它查詢語句中,任何可以使用表達式的地方都可以使用子查詢。例:

SELECT id,name,sex,date FROM tb_demo068 WHERE id in(SELECT id FROM tb_demo068 WHERE id='$_POST[test]')

內連接:把查詢結果作為WHERE子句的查詢條件即稱為內連接

SELECT filedlist FROM table1 [INNER] JOIN table2 ON table1.column1 = table2.column1

其中,filedlist是要顯示的字段,INNER表示表之間的連接方式為內連接,table1.column1=table2.column1用于指明兩表間的連接條件,如:

SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id

四、復雜的嵌套查詢

多表之間的嵌套查詢可以通過謂詞IN實現,語法格式如下:

test_expression[NOT] IN{
 subquery
}

參數說明:test_expression指SQL表達式,subquery包含某結果集的子查詢

多表嵌套查詢的原理:無論是多少張表進行嵌套,表與表之間一定存在某種關聯,通過WHERE子句建立此種關聯實現查詢

五、多表聯合查詢

利用SQL語句中的UNION,可以將不同表中符合條件的數據信息顯示在同一列中。例:

SELECT * FROM tb_demo074_student UNION SELECT * FROM tb_demo074_fasten

使用UNION時應注意以下兩點:

● 在使用UNION運算符組合的語句中,所有選擇列表的表達式數目必須相同,如列名、算術表達式及聚合函數等
● 在每個查詢表中,對應列的數據結構必須一樣。

六、復雜內連接查詢

復雜的內連接查詢是在基本的內連接查詢的基礎上再附加一些查詢條件,如:

SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id WHERE b.id=(SELECT id FROM  tb_demo065 WHERE tb_demo065.name='$_POST[text]')

總之,實現表與表之間的關聯的本質是兩表之間存在共同的數據項或者相同的數據項,通過WHERE 子句或內連接INNER JOIN … ON 語句將兩表連接起來,實現查詢。

感謝你能夠認真閱讀完這篇文章,希望小編分享MySQL進行多表查詢的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

枣庄市| 北宁市| 恩施市| 南宫市| 九台市| 衡山县| 诸城市| 汕头市| 望江县| 民乐县| 思南县| 永春县| 凤翔县| 平乡县| 楚雄市| 互助| 桐城市| 原平市| 灵川县| 鄂尔多斯市| 东莞市| 清河县| 巴林右旗| 安图县| 阿拉善右旗| 太仓市| 汤原县| 泰安市| 舒兰市| 民乐县| 德令哈市| 大关县| 巨野县| 曲阳县| 黄龙县| 贵南县| 恩平市| 彩票| 凤山县| 苏尼特右旗| 城固县|