一、訊息輸出 print:直接在訊息中列印訊息 select:在結果表格中列印訊息,可以設置多列,以及每一列的名字 print 'hello' select 'hello' 二、變量 變量:(1) 局部變量 (2) 全局變量 (1) 局部變量: 以@開頭 先聲明(宣告),再賦值 聲明(宣告)declare 變數@str 數據類型varchar(20) ...
[SQL筆記] char, varchar, nchar, nvarchar
bit 可以代表0,1 1 英數字 = 1 byte = 8 bits 1 中文字 = 1 word = 2 bytes = 16 bits bit 位元 0,1 8 bits(位元) = 1 byte(位元組) 英文字母、0~9數字、符號 = 1 byte(位元組) = 1字元(character) 1個中文字 = 2 bytes(2位元組) = 16 Bits(16...
[SQL筆記] 資料庫設計範例
測試用… 業務需求說明 模擬銀行業務 銀行開戶(註冊個人資料)、開卡(辦理銀行卡)。(一個人可以辦理多張銀行卡,但是最多只能辦3張) 存錢 查詢餘額 取錢 轉帳 查看交易記錄 帳戶掛失 帳戶注銷 資料表設計 帳戶資料表 銀行卡表 交易資訊表(儲存存錢和取錢的記錄) 轉帳資訊表(儲存轉帳資料記錄) 狀態資訊變化表(儲存銀行卡狀態:1...
[SQL筆記] 資料表關聯(表關係)
表關係(一對一、一對多、多對多) 一對一:如果分析出來是一對一關係,兩張表的欄位不是特別多,最簡單的方案就是合成一張表,或是將兩張表的兩個主鍵進行關聯。 一對多:如果分析出來是一對多,就在「多」的表,加一個欄位,和「一」的表進行關聯。 多對多:如果分析出來是多對多,就新增一張表,將前面兩張表的主鍵都加進來,讓他變成一個多對多的關係。 一對一 學生基本資料(學號、姓名、姓名)...
[SQL筆記] 3NF 第三正規化
第一正規化 1NF 錯誤的1NF 下述設計不滿足第一正規化,因為聯繫方式還可以再拆分最小單位。 第一正規化1NF,是必須符合所有欄位值都是不可分解的原子值。 create table Student ( StuId varchar(20) primary key, --學號 StuName varchar(20) not null, --學生姓名 StuCont...
[SQL筆記] 多表查詢二
R group by分組查詢裡,以聚合函數做為條件篩選,要使用having,不能用where. 語法結構:select–from–where–group by–having–order by–limit 運行順序:from–where–group by–having–select–order by–limit 自連接:自己連自己(父節點&am...
[SQL筆記] 多表查詢一
R 簡單多表查詢from A, B:只要不符合主外鍵關係的數據,都不會顯示。 內連接 inner join:只要不符合主外鍵關係的數據,都不會顯示。 外連接-左外連left join:以左表為主,只要不符合主外鍵關係的數據,null顯示。 外連接-右外連right join:以右表為主,只要不符合主外鍵關係的數據,null顯示。 全外連 full join:兩張的數據,...
[SQL筆記] Group By、Having 分組查詢
R union合併 group by 欄位名分組 having分組查詢後,要使用「聚合函數」條件,要放在having後面 having 子句通常是在一個SQL 句子的最面 where不能包含「聚合函數」條件。也就是說where後面不能有「聚合函數」條件。 語法: SELECT "欄位1", SUM("欄位2") FROM "表格名" GROUP BY "欄位1"...
[SQL筆記] 聚合函數
R count 求數量 max 求最大值 min 求最小值 sum 求和 avg 求平均值 round() 小數第幾位 select ROUND(25.555,2) --25.560 datediff 求時間差 select DATEDIFF(year,'1991-1-1','1993...
[SQL筆記] like 模糊查詢
% 代表匹配0~多個字符。(0個、一個、多個)。 like '張%'、like '%尚%'、 _ 代表匹配有,且有一個。 like '張_' [] 代表匹配的範圍內。7到9之間 =>[7,8,9]、[7-9]。 [^] 代表匹配不在範圍內。不是2,3,4,5 => [^2,3,4,5]或是寫[^2-5]。 模糊查詢 --查詢出姓張的員工 select * ...