mysql連線查詢 010 MySQL 自連線查詢

2021-10-11 16:07:32 字數 1299 閱讀 7492

本節內容不多,主要是補充一下,對初學sql者來說,接觸的比較少或者說不易理解的自連線查詢。因為面試題中也是會遇到的,所以一定還是要理解。

自連線是指使用表的別名實現表與其自身連線的查詢方法。

一般情況下,很多問題的解決,需要我們進行多表查詢,將兩表中某些資料聯結,來得到我們所需的資料。

但有些情況下,我們需要對一張表內的資料,進行一些對比,或者是比較,獲得各列層次關係,通過一般的sql寫法,可能需要通過寫多個子查詢的方式才能解決。但是用自連線查詢可以輕鬆解決,所以通俗來理解的話,自連線查詢就是以類似多表對比的方式,實現對同一張表內資料進行複雜的關係表示或關係處理。

下面結合實際例子說明

示例1:

這是一張成績表score

現在要查詢001課程》= 002課程的學生的學號,這時就能用自連線查詢

select
輸出結果:

只有003號學生滿足條件,符合上表資訊。

示例2:

成績表score2

使用sql查詢出所有至少連續3次出現的成績

問題拆解:什麼是連續3次出現。成績表按學號順序排列(如果不是,可以通過視窗函式排序等方式)所以每乙個學號之間間隔都是1,a(004)=b(005)-1,b(005)=c(006)-1,abc3個學號就為連續學號。那麼只要滿足兩個條件:3個連續學號對應成績相等。

select
輸出結果:

面試題1

使用者登入表login(id,uid,update_time)

計算回訪使用者數(在一前一後的不同日期登入過)

select
輸出結果:

php連線mysql位址 PHP連線mysql

php 5 及以上版本建議使用以下方式連線 mysql mysqli extension i 意為 improved pdo php data objects 在 php 早起版本中我們使用 mysql 擴充套件。但該擴充套件在 2012 年開始不建議使用。我是該用 mysqli 還是 pdo?如果...

php連線mysql原生 PHP連線MySQL

一.mysql客戶端下,運算元據庫的步驟 第一步 連線到mysql資料庫伺服器 mysql.exe hlocalhost uroot proot 第二步 選擇要操作的資料庫 use db name 第三步 設定當前環境的顯示字符集 set names gbk 在mysql客戶端只能使用gbk,別的編...

mysql與php的連線 PHP 連線mysql

php 連線mysql mysqlhost localhost mysqluser root mysqlpass mysqldata mydata connect mysql connect mysqlhost,mysqluser,mysqlpass or die 錯誤 mysql error my...