遇見的sql問題

1、多表查詢

2、索引

以上是多表查詢簡單的例子,多表查詢可能導致查詢速度過低,此時需要添加索引,如下:

其中,索引類型如果唯一選擇unique,不唯一選擇normal,索引方法一般選擇BTREE。添加索引後,查詢效率賊快。

3、複雜多表查詢

group_contat:將查詢到的invoice_no連接成字符串,默認逗號連接。

4、觸發器

常用於簡單的操作,如:A表數據更新後要將此條數據的某個值放在B表計算,此時可在A表添加觸發器,減少代碼開發;

備註:觸發器名字不能重複!!!!同個表不能有兩個更新觸發。

更新同個表的多個字段:

5、field中嵌套where語句

date_diff:用於計算時間和今天的日期差

6、原生sql下增加where多條件

7、where條件查詢字段爲空的值

8、group_contat換行

9、group by 查詢 防止主表數據出現重複次數,field中嵌入select使用。

10、SQL取值爲空時直接賦值0,使用IFNULL(值,0)

11、mysql獲取日期多少天以後或以前的日期   DATE_SUB:函數本身是減法,用負數是加法。

e.g.       DATE_SUB(oi.create_time, INTERVAL -cr.limit DAY) as duetime    

12、原生SQL  update多條件下更新多個字段

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章