日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

mysql 最值复杂查询_MySQL高级查询

發布時間:2023/12/20 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 最值复杂查询_MySQL高级查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們使用SQL查詢不能只使用很簡單、最基礎的SELECT語句查詢。如果想從多個表查詢比較復雜的信息,就會使用高級查詢實現。常見的高級查詢包括多表連接查詢、內連接查詢、外連接查詢與組合查詢等,今天我們先來學習最常用、面試也很容易被問到的連接查詢。

我們今天以一個簡單的學生信息表(學生ID、學生姓名、學生性別)與一個學生成績表(學生ID、學生成績、成績等級)作演示:

student_info表:

student_score表:

一、內連接(INNER JOIN)

1、等值連接

概述:指使用等號"="比較兩個表的連接列的值,相當于兩表執行笛卡爾后,取兩表連結列值相等的記錄。

語法:

SELECT?列

FROM?表1?INNER?JOIN?表2

ON?表1.列?=?表2.列

示例:

SELECT?A.*,?B.*

FROM?student_info?A?inner?join?student_score?B

ON?A.student_id?=?B.student_id

結果:

2、非等值連接

概述:指使用大于號">"或小于號"

語法:

SELECT?列

FROM?表1?INNER?JOIN?表2

ON?表1.列?<>?表2.列

示例:

SELECT?A.*,?B.*

FROM?student_info?A?inner?join?student_score?B

ON?A.student_id?>?B.student_id

結果:

二、外聯結

1、左外連接(LEFT OUTER JOIN)

概述:指將左表的所有記錄與右表符合條件的記錄,返回的結果除內連接的結果,還有左表不符合條件的記錄,并在右表相應列中填NULL。

示例:

SELECT?A.*,?B.*

FROM?student_info?A?left?join?student_score?B

ON?A.student_id?=?B.student_id

結果:

2、右外連接(RIGHT OUTER JOIN)

概述:與左外連接相反,指將右表的所有記錄與左表符合條件的記錄,返回的結果除內連接的結果,還有右表不符合條件的記錄,并在左表相應列中填NULL。

示例:

SELECT?A.*,?B.*

FROM?student_info?A?right?join?student_score?B

ON?A.student_id?=?B.student_id

結果:

3、全外連接(FULL JOIN)——MySQL不支持

概述:指將左表所有記錄與右表所有記錄進行連接,返回的結果除內連接的結果,還有左表與右表不符合條件的記錄,并在左表與右表相應列中填NULL。

三、自然連接(NATURAL JOIN)

概述:指自動將表中相同名稱的列進行記錄匹配。

示例:

SELECT?A.*,?B.*

FROM?student_info?A?natural?join?student_score?B

結果:

四、自連接

概述:指用表的別名實現表自身的連接。

示例:

SELECT?B.*

FROM?student_score?A,?student_score?B

WHERE?A.student_id?=?B.student_id

AND?B.student_score?>?80

結果:

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的mysql 最值复杂查询_MySQL高级查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。