1. 程式人生 > >關於Mysql的一些整理

關於Mysql的一些整理

一、SQL的select語句完整的執行順序

  1. from子句組裝來自不同資料來源的資料
  2. where子句基於指定的條件對記錄行進行篩選
  3. group by子句將資料劃分為多個分組
  4. 使用聚集函式進行計算
  5. 使用having子句進行篩選分組
  6. 計算所有的表示式
  7. select欄位
  8. 使用order by 對結果集進行排序

二、SQL值聚合函式

      聚合函式是對一組值進行計算並返回單一的值的函式,它經常與select語句中的gruop by 子句一同使用

  1. avg():返回的是指定組中的平均值,空值被忽略.
  2. count():返回的是指定組中的專案個數
  3. max():返回指定資料中的最大值
  4. min():返回指定資料中的最小值
  5. sum():返回指定資料的和,只能用於數字列,控制忽略
  6. group by():對資料進行分組,對執行完group by之後的組進行聚合函式的運算,計算每一組的值。最後用having去掉不符合條件的                     組,having子句中的每一個元素必須出現在select列表中

三、SQL之連線查詢

  1. 外連線:

        左連線(左外連線):以左表為基準進行查詢,左表資料會全部顯示出來,右表如果和左表匹配的資料則顯示對應欄位的資料,如果                                              不匹配則顯示為null

        右連線(憂外連結):以右表為基準進行查詢,右表資料會全部顯示出來,左表如果和右表匹配的資料則顯示對應的欄位資料,如果                                              不匹配則顯示為null

        全連線:先以左表進行左外連線,再以右表進行右外連線。

  1. 內連線:顯示錶之間有連線匹配的所有行

四、Mysql的效能優化

  1. 當只要一行的資料時使用limit 1
  2. 選擇正確的資料庫引擎
  3. 用not exists 代替 not in
  4. 對操作符的優化,儘量不採用不利於索引的操作符

五、sql面試題

給大家推薦一篇非常好的部落格,該部落格中收集了最常見的 Mysql 常見面試題和筆試題。
部落格連結: http://www.cnblogs.com/qixuejia/p/3637735.html