sql開發技巧

2021-08-09 21:21:55 字數 1125 閱讀 2878

一、常用sql語句型別

1、ddl 資料定義語言 (create語句  alter語句等)

2、tpl 事物處理語言

3、dcl 資料控制語言

4、dml 資料操作語言(select 、update 、insert 、 delete)

二、join連線

1、內連線          inner join

2、全外連線    full outer join

3、左外連線   left outer join

4、右外連線    right outer join

5、交叉連線    cross  join

前面4中都需要on來作為條件  cross連線不需要on作為條件 查詢的結果是笛卡爾積  即兩個表的資料相乘

三、不能更新在from從句中出現的表的資料

update user1 set  over ='1111' where user1.username in (select b.username from  user1 a  join user2 b  on a.username =b.username );

此句會報1093錯誤 error 1093 (hy000)

此句應該改為:

update user1  a  join  ( select b.username from  user1 a  join user2 b  on a.username =b.username  )  b  on  a.username =b.username  set  a.over ='1111'

四、子查詢效率一般要低於連線查詢效率,並且資料量越大,效果月明顯

----子查詢:select a.user_name ,a.over ,(select over from user2 b  where a.user_name = b.user_name ) as over 2  from  user1 a;

--連線查詢:select a.user_name ,a.over ,b.over as over2  from user1  a  left join user2 b on  a.user_name = b.user_name;

五、結果集行轉列的幾種方式

1、cross join

2、case  when

Sql開發技巧

原文 sql開發技巧 簡介 分頁 主要是使用了row number 這個函式。一般如下 declare pagesize int declare startindex int with mytable paged as select row number over order by col 1 as...

SQL恢復技巧

ms sql server資料恢復使用技巧 經常使用sql server的人都知道,有時資料庫會出現各種各樣的錯誤,比如 其他都正常,唯獨某乙個表看不到資料,或者這個表看的到資料,但是不能根據某個字段排序,只要一執行排序語句,就提示 連線中斷 等等。一般這些單個表出現錯誤的ms提供了乙個修復語句,d...

sql優化技巧

1.比較運算子能用 就不用 增加了索引的使用機率 2.事先知道只有一條查詢結果時,使用 limit 1 limit 1 可以避免全表掃瞄,找到對應結果就不會再繼續掃瞄了 3.選擇合適的資料型別很重要 能用tinyint就不用smallint,能用smallint就不用int,磁碟和記憶體消耗越小越好...