sql關聯查詢 子查詢綜合應用

2021-10-07 17:09:54 字數 1709 閱讀 6495

乙個主表,關聯若干個子表,同時還要獲取子表的標識資訊,例如:人(刑滿釋放、易上訪、重點青少年,吸毒人員,臨時管控人員),應用場景就是,某某人有可能身兼數職(例如即是易上訪、又是刑滿釋放、而且還是臨時管控…)

可以試試如下的一攤**,大多數都能看懂,歡迎提供更好的方式。

select

*from

(select

aids.population_code aids, correction.population_code correction,drug.population_code drug,teenagers.population_code teenagers,mental.population_code mental,released.population_code released,

temp

.population_code temp

,visits.population_code visits,popubase.

*from

t_population_base popubase

left

join t_aids_population aids on popubase.id = aids.population_code

left

join t_correction_population correction on popubase.id = correction.population_code

left

join t_drug_population drug on popubase.id = drug.population_code

left

join t_key_teenagers teenagers on popubase.id = teenagers.population_code

left

join t_mental_disorders_population mental on popubase.id = mental.population_code

left

join t_release_population released on popubase.id = released.population_code

left

join t_temp_control_population temp

on popubase.id =

temp

.population_code

left

join t_visits_population visits on popubase.id = visits.population_code) speciallist

where aids is

notnull

or correction is

notnull

or drug is

notnull

or teenagers is

notnull

ormental is

notnull

or released is

notnull

ortemp

isnot

null

or visits is

notnull

求更好的方式…

子查詢快 還是關聯查詢快 SQL關聯子查詢

關聯子查詢,根本含義就是對於外部查詢返回的每一行資料,內部查詢都要執行一次,就像python裡邊說的遍歷一樣。遍歷後對符合條件的記錄進行操作。題目 查詢每門課程的成績第2名到第3名的學生資訊及該課程成績 selectwhere跟的條件的含義 查詢同乙個課程sc表的成績小於sc1表的總人數。子查詢中 ...

SQL關聯查詢

一 關聯基礎 連線查詢 查詢兩個或兩個以上資料表或檢視的查詢,通常建立在存在相互關係的父子表之間。關聯查詢 查詢的結果集中的字段可能來自多張表。要從多張表中獲取資料時,就要找到這幾張表記錄的對應關係,然後建立聯絡後分別獲取。所以連線條件 指明表之間記錄的對應關係 在關聯查詢中十分關鍵。n 張表關聯查...

sql關聯查詢

1.內連線 是最普遍的一種連線方式,選出相連的兩張表都互相滿足連線條件的資料。寫法 select ainner joinb on a.id b.aid 其中inner可忽略 舉例 a表 查詢語句 select from a inner join b on a.id b.id。將a表的每一條資料拿出來...