多表關聯以及mysql函式混用

2022-09-11 11:42:15 字數 1208 閱讀 3604

查出平均支付金額大於0.5元的使用者的姓名和使用者id

t_user_info使用者表:字段 id,nickname

t_pay:支付表,字段 userid,cent_amount付款金額

分析思路:

1.首先 乙個使用者存在多筆訂單,且需要根據這個使用者id進行分組,並取其平均值;然後做平均支付金額做大於0.5進行篩選

2.關聯使用者表,查詢使用者表中的姓名字段

拆分步驟:

select * from t_pay;

selcet* from t_pay left_join t_user_info on t_pay.userid=t_user_info.id;

selcet userid,nickname, **g(cent_amount) from t_pay left_join t_user_info on t_pay.userid=t_user_info.id group by userid;

select userid,nickname,**g(cent_amount) from t_pay left_join t_user_info on t_pay.userid=t_user_info.id group by userid h**ing **g(cent_amount)>0.5;

使用臨時表思路進行查詢:

select userid,nickname,**g(num) from t_pay group by userid h**ing **g(num)>0.5 作為臨時表

select * from(select userid,nickname,**g(num) from t_pay group by userid h**ing **g(num)>0.5) as t

select * from(select userid,nickname,**g(num) as 平均金額 from t_pay group by userid h**ing **g(num)>0.5) as t left_join t_user_info on t.userid=t_user_info.id;

select t.userid,t.平均金額,t_user_info.nickname from (select userid,nickname,**g(num) as 平均金額 from t_pay group by userid h**ing **g(num)>0.5) as t left_join t_user_info on t.userid=t_user_info.id;

mysql 多表關聯刪除

兩張表關聯刪除 delete a,b from table1 a inner join table2 b on a.id b.aid where a.id 1 或者也可以 delete a,b from table1 a,table2 b where a.id b.aid and a.id 1 三張...

mysql 多表關聯刪除

sql檔案 set foreign key checks 0 table structure for stu tea drop table ifexists stu tea create table stu tea stu id int 11 not null,tea id int 11 not n...

mysql的右關聯 mysql的多表關聯

資料庫中經常要用到多個表的關聯。mysql的關聯主要包括inner join,left join,right join三種,下面分別加以介紹,並舉例說明。顧名思義,inner join集合了兩個表的資訊,只有都包含的才關聯在一起。left join以第乙個表為準,後乙個表資訊不完整記為null ri...