---
# System prepended metadata

title: 建置SQL
tags: [SQL]

---

###### tags: `SQL`

# 建置SQL

[MSSQL SSMS](https://learn.microsoft.com/zh-tw/sql/ssms/download-sql-server-management-studio-ssms?redirectedfrom=MSDN&view=sql-server-ver16)
工作管理員>服務>MSSQL$SQLEXPRESS  重啟
主機右鍵>屬性>安全性SQL Server 及 Windows 驗證模式
安全性>登入>SA>狀態>登入(已啟用)
Ctrl+D 文字顯示
Ctrl+T 表格顯示

5 SELECT
1 FROM
2 WHERE
3 GROUP BY
4 HAVING
6 ORDER BY


---

## SELECT 欄位
SELECT 欄名1 (顯示名1),欄名2 (顯示名2)
#顯示名可不填(預設為欄名)
#如果要顯示的欄名有空格要用單引號包起來

#### **Simple Case範圍值**
SELECT V1,V2,V3
Case ***express***
　When Volunm1(欄位) Then rusult1
　[When Volunm2 Then rusult2]
 　...
  　[Eles rusult]
End (欄名)
FROM

#### **Searched Case範圍值**
SELECT V1,V2,V3
Case
　When conditional1 Then rusult1
　[When conditional2 Then rusult2]
 　...
  　[Eles rusult]
End (欄名)
FROM

#### **Cast範圍值**
Cast(Var as 新型態)

---

## FROM 表格
讀取哪個表格


---

## WHERE 範圍

#### **Between範圍值**
***express***  Between 數字 and 數字
***express*** Between '日期' and '日期'
***express*** Between '字母' and '字母'

#### **In選取值**
***express*** In ( 數字, 數字,...)
***express*** In ('日期','日期',...)
***express*** In ('字母','字母',...)

#### **Like查詢**
***express*** Like ***'判斷符號'*** Escape '字元'
Escape '字元' 這邊放自訂的跳脫符號
**%** : 任意字元。
**_**  :  任1字元。
**^** : 非。
[一堆字元]  :  這堆字元中的任一字元。ex:[ABC]
[字元-字元]  :  字元範圍內的任一字元。ex:[A-C]
ex: Like '[^A-C]' 等於 Not Like '[A-C]'
特別叫法 : Is Null 、Is Not Null 
如果寫!=Null 全都變Null 因為碰到運算子




---

## ORDER BY 排序
***express*** 　　　升冪 (預設)
***express*** desc 　降冪
***express1*** desc , ***express2*** , ***express3*** desc 連續排序(優先序由左而右)

---

