要求一 :
查詢時,將用戶的手機號碼(比如1331234567)顯示為133***4567
這是在交流群里看到別人發的一個面試題,我本人非常反感直接在查詢時進行處理數據的,查詢出來再處理不好嗎,但是面試題要求是這樣.
這里,簡單的寫了兩個表關聯查詢,然后把手機號碼進行處理顯示出來
select a.uid,a.username, concat(left(a.cellphone_number,3),'****',right(a.cellphone_number,4)) as mobile_ ,b.gender,b.agefrom front_u a JOIN front_u_tends b where a.uid = b.uid
查詢出來的結果
要求二 :
標簽要求, 就是tag含有77這個標簽
兩種思路:?
第一種, 用find_in_set(本人推薦的方式)?
用法:??WHERE FIND_IN_SET(77,tag)
第二種,用like語句(這種方式有漏洞,不推薦)
用法:? WHERE tag like "%77,%"
三 面試原題是這樣 :
本人編寫的sql:
select ba.*,fd.*, concat(left(ba.mobile,1),'+++++++++',right(ba.mobile,1)) as mobile_from baomings ba join fd_firm_baoming fd on ba.id = fd.baoming_idwhere find_in_set(77,fd.tag) and fd.td_type <> 0