首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL 必備語法速查手冊:從基礎 DDL/DML 到進階集合運算與外部連接

     編輯:關於SqlServer

一、基礎 DDL 與 DML

操作語法範例
建立資料庫CREATE DATABASE db_name
刪除資料庫DROP DATABASE db_name
備份 SQL ServerEXEC sp_addumpdevice 'disk','testBack','c:\backup.dat'; BACKUP DATABASE pubs TO testBack
建立資料表CREATE TABLE t(c1 INT PRIMARY KEY, c2 VARCHAR(50) NOT NULL)
依現有表建表A: CREATE TABLE t_new LIKE t_old / B: CREATE TABLE t_new AS SELECT c1,c2 FROM t_old DEFINITION ONLY
刪除資料表DROP TABLE t_name
新增欄位ALTER TABLE t ADD c3 INT (註:不可刪除欄位,型別僅能擴充 VARCHAR 長度)
主鍵增刪ALTER TABLE t ADD/DROP PRIMARY KEY (c1)
索引增刪CREATE [UNIQUE] INDEX idx ON t(c1); DROP INDEX idx (索引不可改,需重建)
視圖增刪CREATE VIEW v AS SELECT ...; DROP VIEW v

二、基礎查詢與彙總

SELECT * FROM t WHERE 條件
INSERT INTO t(c1,c2) VALUES(v1,v2)
DELETE FROM t WHERE 條件
UPDATE t SET c1=v1 WHERE 條件
SELECT * FROM t WHERE c1 LIKE '%val%'
SELECT * FROM t ORDER BY c1, c2 [DESC]
SELECT COUNT(*) AS total FROM t
SELECT SUM(c1) AS sumv, AVG(c1) AS avgv, MAX(c1) AS maxv, MIN(c1) AS minv FROM t

三、進階集合運算子

運算子行為保留重複
UNION合併兩結果集,去除重複列UNION ALL 保留重複
EXCEPT第一集合減去第二集合 (差集)EXCEPT ALL 保留重複
INTERSECT取兩集合交集INTERSECT ALL 保留重複

註:參與運算的查詢欄位數、型別、順序必須一致。

四、外部連接

  • LEFT OUTER JOIN:回傳左表所有列 + 右表匹配列 (無匹配則 NULL)
  • RIGHT OUTER JOIN:回傳右表所有列 + 左表匹配列
  • FULL OUTER JOIN:兩表所有列,無匹配處填 NULL
SELECT a.*, b.c1 FROM a LEFT OUTER JOIN b ON a.id = b.a_id

五、常用字串/日期函數 (T-SQL)

  • SUBSTRING(str, start, len), CHARINDEX(sub, str), REPLACE(str, old, new)
  • GETDATE(), DATEADD(interval, num, date), DATEDIFF(interval, d1, d2), CONVERT(fmt, date)

掌握這些核心語法可應付 90% 開發場景,複雜分析再查閱進階視窗函數、CTE、PIVOT/UNPIVOT 等。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved