mysql sql语句书写之面试部分
生活随笔
收集整理的這篇文章主要介紹了
mysql sql语句书写之面试部分
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
要求一 :
查詢時,將用戶的手機號碼(比如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總結
以上是生活随笔為你收集整理的mysql sql语句书写之面试部分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第一个python小游戏
- 下一篇: Redis --数据类型 [1]