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多條件下更新多個字段