SQL-基礎SELECT

今天要來探討SQL裡面的SELECT

SELECT 是資料庫查詢指令

使用如下
SELECT 顯示欄位 FROM 資料表 WHERE 條件 HAVING 條件二 order by 排序

一定要按照順序

  1. SELECT.
  2. FROM(來源)
  3. WHERE(條件)
  4. Group by (群組)
  5. HAVING(條件二)
  6. order by(排序)

只要順序錯了,就算內容打對了也會錯

使用方式如下

  • 基本查詢: SELECT * FROM db1 where a>0
  • 關聯查詢: SELECT * FROM DB ,DB2 WERE DB.A=DB2.A   (效能差)
  • 關聯查詢2: SELECT * FROM DB LEFT OUTER JOIN DB2 ON DB.A=DB2.A  (效能好)

WHERE 條件式=>對欄位的篩選
條件式

  • and(跟)
  • or(或)
  • BETWEEN(之間)
  • NOT 非
  • xor 互斥

應用如下:

  • 數字型1 :    WHERE A>0
  • 數字型2 :   WHERE A!=0
  • 文字形 1:   WHERE A=’TEST’  (內容是TEST)
  • 文字形2:    WHERE A LIKE ‘%TEST%’     (有包括TEST的內容,用%代表那裏不管有多少字或是什麼字)
  • 空值型: WHERE A IS NULL     WHERE A=NULL
  • 非空值 : WHERE A IS NOT NULL
  • 多值型1: WHERE A IN (1,2.3)  (代表內容要=1或2或3,當然也可以放select語句如下)
  • 多值型2: WHERE A IN (SELECT A FROM A>0)    (這樣會把A>0的放入IN中)
  • 日期型1:  WHERE aDATE>’2010-01-01′ and  aDATA<=’2017-01-31′ (抓這日期區間內的資料)
  • 日期型2: WHERE aDATE BETWEEN  ‘2010-01-01’ AND ‘2017-01-31’   (效果一樣)

排序
order by

用來排序搜尋結果

DESC:由大到小(Z~A 9~1)

ASC : 由小到大(A~Z 1~9)

範例: order by  a desc,b asc