一道SQL表關聯查詢的面試題

2021-07-11 12:25:32 字數 1207 閱讀 7337

>按照所列**欄位和sql查詢結果,寫出sql語句

第一種:         

select

tf.flats_num as "公寓編號",

count(casewhen tr.`status` = 0 thentr.idend) as "未出租數量",

count(tr.id) as "該公寓所有房間數量",

(case when tf.is_private = 1 then '是' else '否' end) as "公寓是否是自營",

concat(tc.`name`, '-', tc.street) as "小區位址"

from

t_flats tf

left join t_community tc on (tf.community_id = tc.id)

left join t_room tr on (tr.flats_id = tf.id)

group by

tf.flats_num;

第二種:

select

tf.flats_num as "公寓編號",

(select count(trm.id) from t_room trm where trm.flats_id = tf.id and trm.`status` = 0) as "未出租數量",

count(tr.id) as "該公寓所有房間數量",

(case when tf.is_private = 1 then '是' else '否' end) as "公寓是否是自營",

concat(tc.`name`, '-', tc.street) as "小區位址"

from

t_flats tf

left join t_community tc on (tf.community_id = tc.id)

left join t_room tr on (tr.flats_id = tf.id)

group by

tf.flats_num;

一道sql 的面試題

表結構 成績表 grade 包含字段 gradeid int,自增 sno int,學號 cno int,課程號 score float,分數 查詢每門課程的平均 最高 最低 分及課程號 select g score cno from dbtest dbo grade group by cno se...

一道sql面試題的解答

題目 寫出一條sql語句 取出表a中第31到第40記錄 sqlserver,以自動增長的id作為主鍵,注意 id可能不是連續的。解答 已測試 1 假設id是連續的 select top10 fromawhereidnot in selecttop30 idfroma 或select fromawhe...

一道sql面試題的解答

題目 寫出一條sql語句 取出表a中第31到第40記錄 sqlserver,以自動增長的id作為主鍵,注意 id可能不是連續的。解答 已測試 1 假設id是連續的 select top10 fromawhereidnot in selecttop30 idfroma 或select fromawhe...