本篇重點:
- 前言
- 四種基本指令
- 補充
前言
建立好資料表,我們可以透過不同的指令來處理資料。<br/><br/>
點擊資料表 –> 新增查詢 –> 輸入指令 –> 執行 (在新增查詢下方的綠色箭頭)。<br/>
四種基本指令
這是事先建好的資料名稱 & 資料型態,以下會根據這張資料表說明四種基本指令,及他們在 MSSQL 中的寫法。<br/>
補充:在 vb 中字串用 “” (雙引號) ,在 SQL 中則是放在 ‘’ (單引號)裡面。
- 新增(INSERT):新增指令用於向資料表中插入新的資料記錄。
INSERT INTO 資料表 (欄名,欄名) VALUES ('字串', 數字)
執行成功後,底下會顯示有幾個資料列受到影響。可以回到資料表中檢查是否有新增成功~~<br/><br/> 在新增資料時要注意是否有 NULL 值,並且主鍵不能重複!
- 修改(UPDATE):修改指令用於更新資料表中現有的資料記錄。
UPDATE 資料表 SET 欄名 = '' , 欄名 = '' WHERE 欄名 = ''(條件)
若有符合在 WHERE 下的條件,則該資料列會受到影響。<br/><br/> 要注意的是,沒有下條件的話,所有資料都會被修改。
- 刪除(DELETE):刪除指令用於從資料表中刪除指定的資料記錄。
DELETE FROM 資料表 WHERE 欄名 = ''(條件)
只要符合條件的資料,都會被刪掉。
SQL 指令下完後是不可逆的!因此在下指令前要確定是否有寫正確
- 查詢(SELECT):查詢指令用於檢索資料表中的資料。
SELECT 欄名 FROM 資料表 WHERE 欄名 = ''(條件)
查到的資料會列在下方表格中。<br/>
也可以不下 WHERE 條件,就會把所有該資料表中的特定欄為查詢出來。<br/><br/>
查詢所有欄位的寫法: SELECT * FROM 資料表 WHERE 欄名 = ''(條件) <br/>
有兩種條件的寫法: SELECT 欄名 FROM 資料表 WHERE 欄名 = '' AND/OR ''
【補充】查詢指令
- TOP:用於檢索資料表前幾列的資料。
SELECT TOP 數量 欄名 FROM 資料表 WHERE 欄名 = ''(條件)
- ORDER BY (排序):將資料依據指定的順序排列。
SELECT TOP 數量 欄名 FROM 資料表 ORDER BY 欄位 DESC(遞減)/ASC(遞增)
- INNER JOIN(內部結合):根據兩個資料表間的共同值進行結合,只列出符合結合條件的記錄。僅保留兩個資料表中相匹配的行。
SELECT 欄位 FROM 資料表A INNER JOIN 資料表B ON 資料表A.欄位 = 資料表B.欄位
0N 後面接的是要關聯起來的兩個欄位。<br/>
- LEFT JOIN(左外部結合):呈現左邊資料表的所有記錄,並根據結合條件將右邊資料表中匹配的記錄結合到左邊資料表中。
SELECT 欄位 FROM 資料表A LEFT JOIN 資料表B ON 資料表A.欄位 = 資料表B.欄位
- RIGHT JOIN(右外部結合):呈現右邊資料表的所有記錄,並根據結合條件將左邊資料表中匹配的記錄結合到右邊資料表中。
SELECT 欄位 FROM 資料表A RIGHT JOIN 資料表B ON 資料表A.欄位 = 資料表B.欄位
底下透過範例讓大家更清楚三種 JOIN 的用法:<br/><br/>
首先建立兩張資料表 T1、T2,並各自存入資料。<br/>
1.用 INNER JOIN 把 T1 的 A1 欄位與 T2 的 A2 欄位關聯起來
SELECT * FROM T1 INNER JOIN T2 ON T1.A1 = T2.A2
- 用 LEFT JOIN 把 T1 的 A1 欄位與 T2 的 A2 欄位關聯起來
SELECT * FROM T1 LEFT JOIN T2 ON T1.A1 = T2.A2
如果沒有資料,則顯示 NULL (空值)。
- 用 RIGHT JOIN 把 T1 的 A1 欄位與 T2 的 A2 欄位關聯起來
SELECT * FROM T1 LEFT JOIN T2 ON T1.A1 = T2.A2
