Home
R
Cancel

[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 * ...

[SQL筆記] Insert Into 新增數據

INSERT INTO 敘述句 (SQL INSERT INTO Statement) INSERT INTO 是用來新增資料至某資料表 (table)。 INSERT INTO 語法 (SQL INSERT INTO Syntax) INSERT INTO table_name (column1, column2, column3...) VALUES (value1, value2,...

[SQL筆記] Case End 條件查詢二

R getdate()當前時間。select getdate() year(getdate())當前年份 month(欄位名)取月。month(Birth) = 7 day(欄位名)取日。day(Birth) >= 22 case end類似 switch case 查詢 year(getdate())當前年份 year(欄位名)取年。 where ...

[SQL筆記] 條件查詢一

R between and 在兩者之間 where in 是否在其中(效能差) EXISTS: 直接代入驗證, true/false IN: 挑出大量資料後, 再一一比對true/false 關於SQL語法IN條件式的效能 desc 降序 asc 升序(默認值,可以不寫) order by len(欄位名) desc 根據(...

[SQL筆記] 基本查詢

R distinct去除重複的數據 基礎查詢 --查詢所有列、所有行 select * from Department select * from [Rank] select * from Employee --查詢指定列(姓名、性別、生日、月薪、電話) select EmployeeName, EmployeeSex, EmployeeBirth, EmployeeSalary...