SQL語句實(shí)現(xiàn)多表查詢
基本sql語句
SELECT <目標(biāo)字段> FROM <數(shù)據(jù)庫表> WHERE <查詢條件> GROUP BY <分組依據(jù)> ORDER BY <排列依據(jù)>
多表查詢
內(nèi)連接 :返回滿足連接條件的數(shù)據(jù)
格式:SELECT <目標(biāo)字段> FROM <INNER JOIN+表名+ON+連接條件> WHERE <查詢條件>
注意:理清表與表之間的關(guān)系,從哪些表中查出哪些數(shù)據(jù),表與表之間的連接條件是什么
例一:雙表查詢

例二:多表查詢
a sys_user user_name => user_id dept_id b sys_user_role user_id => role_id c sys_role role_id => role_name d sys_role_dept role_id => dept_id e sys_dept dept_id => dept_name parent_id dept_name f sys_dept parent_id => dept_name
SELECT
a.user_name,
a.user_id,
a.dept_id,
b.role_id,
c.role_name,
e.dept_name,
f.dept_name
FROM
sys_user AS a
INNER JOIN sys_user_role AS b ON b.user_id = a.user_id
INNER JOIN sys_role AS c ON c.role_id = b.role_id
INNER JOIN sys_dept AS e ON e.dept_id = a.dept_id
INNER JOIN sys_dept AS f ON f.dept_id = e.parent_id
WHERE
a.user_name = 'zjzsqxyf01'外連接:外連接不只列出與連接條件相匹配的行,而是列出左表(左外連接時(shí))、右表(右外連接時(shí))或兩個(gè)表(全外連接時(shí))中所有符合搜索條件的數(shù)據(jù)行
(1)左連接:返回左表中的所有數(shù)據(jù)
格式:SELECT <目標(biāo)字段> FROM <LEFT JOIN+表名+ON+連接條件> WHERE <查詢條件>

(2)右連接:返回右表中的所有數(shù)據(jù)
格式:SELECT <目標(biāo)字段> FROM <RIGHT JOIN+表名+ON+連接條件> WHERE <查詢條件>

(3)全連接:在等值連接的基礎(chǔ)上將左表和右表的未匹配數(shù)據(jù)都加上
格式:SELECT <目標(biāo)字段> FROM <FULL JOIN+表名+ON+連接條件> WHERE <查詢條件>

自然連接:以兩個(gè)表具有相同的字段的所有列為基礎(chǔ),返回兩個(gè)表中滿足查詢條件的數(shù)據(jù)
到此這篇關(guān)于SQL語句實(shí)現(xiàn)多表查詢的文章就介紹到這了,更多相關(guān)SQL多表查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql之?dāng)?shù)據(jù)舊表導(dǎo)新表的實(shí)現(xiàn)示例
在MySQL中,可以通過INSERT INTO...SELECT * FROM...語句輕松復(fù)制兩個(gè)結(jié)構(gòu)相同或目標(biāo)表包含源表所有列的表中的數(shù)據(jù),本文就來介紹一下mysql之?dāng)?shù)據(jù)舊表導(dǎo)新表的實(shí)現(xiàn)示例,感興趣的可以了解一下2024-10-10
數(shù)據(jù)庫性能測(cè)試之sysbench工具的安裝與用法詳解
sysbench是一個(gè)很不錯(cuò)的數(shù)據(jù)庫性能測(cè)試工具,這篇文章主要給大家介紹了關(guān)于數(shù)據(jù)庫性能測(cè)試之sysbench工具的安裝與用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
Mysql如何按照范圍區(qū)間創(chuàng)建分區(qū)表
在Mysql的范圍分區(qū)表定義中,分區(qū)范圍需要連續(xù)并且不會(huì)有覆蓋,定義范圍分區(qū)表時(shí),使用VALUES LESS THAN操作符,這篇文章主要介紹了Mysql如何按照范圍區(qū)間創(chuàng)建分區(qū)表,需要的朋友可以參考下2024-08-08
MySQL對(duì)window函數(shù)執(zhí)行sum函數(shù)可能出現(xiàn)的一個(gè)Bug
這篇文章主要給大家介紹了關(guān)于MySQL對(duì)window函數(shù)執(zhí)行sum函數(shù)可能出現(xiàn)的一個(gè)Bug,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
MySQL備份與恢復(fù)之保證數(shù)據(jù)一致性(5)
這篇文章主要介紹了MySQL備份與恢復(fù)之保證數(shù)據(jù)一致性,感興趣的小伙伴們可以參考一下2015-08-08

