最基本的幾個問題,SQL是什麼?資料庫是什麼?RDBMS又是什麼?什麼叫表?
作者:愛德寶器
來源:資料管道(ID:adc9556)
- 
資料庫(Database):按照資料結構來組織、儲存和管理資料的倉庫。 
- 
RDBMS(Relational Database Management System):關係資料庫管理系統,儲存和操作關係資料庫表中排列的資料的軟體。 
- 
SQL:Structured Query Lanuage(結構化查詢語言),更詳細地說,SQL 是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關係資料庫系統,同時也是資料庫指令碼檔案的副檔名。 
- 
表:按列和行排列的一組資料。串列示儲存資料的特徵,行表示實際的資料條目。 
瞭解完以上關於資料庫的一些基本概念之後,進入今天的主題——SQL精簡版複習大綱。
目錄:

01 資料庫查詢語言
1. 如何選擇多列
#語法SELECT <Column List>FROM <Table Name>WHERE <Search Condition># 例子SELECT FirstName, LastName, OrderDateFROM Orders WHERE OrderDate > '10/10/2010'
2. 如何選擇某一列並去重(重點)
#語法SELECT DISTINCTFROM <Table Name>#例子SELECT DISTINCT FirstName FROM Orders
3. 如何從第一行開始選擇一共五行資料?
#語法SELECTFROM table_namelimt 5 offset 1;#例子SELECT FirstName FROM Orders limt 5 offset 1;
4. 如何按照指定方向(升、降)排序選擇資料?
#語法SELECT co_name1,col_name2FROM table_nameORDER BY col_name1 DESC,col_name2 ASC#例子SELECT ,FirstNameFROM OrdersORDER BY OrderDate DESC
5. 常見的一些過濾選擇有哪些。(重點)
#範圍內檢查SELECT col_name FROM table_name WHERE col_name BETEWEEN 5 AND 10;#空值檢查SELECT col_name FROM table_name WHERE col_name IS null;# in運運算元SELECT col_name FROM table_name WHERE col_name IN (....);# NOT運運算元SELECT col_name FROM table_name WHERE NOT (條件);#AND 和 OR 註意優先順序 and 優先順序高於orSELECT col_name FROM table_nameWHERE (condi_1 OR condi_2) AND condi_3;#第五部分使用萬用字元進行過濾SELECT col_name FROM table_name WHERE col_name like '..%..';SELECT col_name FROM table_name WHERE col_name like '.._..';SELECT col_name FROM table_name WHERE col_name like '[]%';
6. 如何分組並按條件選擇資料?(重點)
#語法SELECT <Column List>, <Aggregate Function>(<Column Name>)FROM <Table Name>WHERE <Search Condition>GROUP BY <Column List>#例子SELECT LastName, SUM(OrderValue)FROM OrdersWHERE OrderDate > '10/10/2010'GROUP BY LastName註意點:GROUP BY 後面也可以接條件。WHERE 陳述句和HAVING配合的使用。WHERE在HAVING之前。WHERE 過濾針對的是行,HAVING過濾針對的是組。
7. 分組和排序的順序是什麼?(重點)
/*SELECRFROMWHEREGROUP BYHAVINGORDER BY*/SELECT col_name FROM table_nameWHEREGROUP BYHAVINGORDER BY
8. 如何使用子查詢?(重點)
SELECT col_name FROM table_nameWHERE col_name =(SELECT col_name FROM table_name WHERE .... );
9. 表的聯結查詢怎麼做(非常重點!!!!一定要會!)
#語法SELECT <Column List>FROM JOINON . = .、#例子SELECT Orders.LastName, Countries.CountryNameFROM Orders INNER JOIN Countries ONOrders.CountryID = Countries.ID除此之外還有左聯結 LEFT JOIN右聯結 RIGHT JOIN全聯結 FULL JOIN
10. 如何使用聯合查詢
#語法SELECT <Column List> FROMUNIONSELECT <Column List> FROM#例子SELECT <Column List> FROMUNIONSELECT <Column List> FROM
02 資料庫操作語言
1. INSERT(插入)
#語法INSERT INTO <Table Name>(<Column List>) VALUES (<Values>)
#例子INSERT INTO Orders(FirstName, LastName, OrderDate) VALUES('John', 'Smith', '10/10/2010')
2. UPDATE(更新)
#語法UPDATE <Table Name>SET = , = , …WHERE <Search Condition>#例子UPDATE OrdersSET FirstName = 'John', LastName = 'Who' WHERE LastName='Wo'
3. DELETE(刪除)
#語法DELETE FROM <Table Name>WHERE <Search Condition>#例子DELETE FROM OrdersWHERE OrderDate < '10/10/2010'
03 資料庫定義語言
1. CREATE (建立表)
# 語法CREATE TABLE <Table Name>( Column1 DataType, Column2 DataType, Column3 DataType)  # 例子 CREATE TABLE Orders( FirstName CHAR(100), LastName CHAR(100), OrderDate DATE)
2. ALTER(更改表)
#語法CREATE TABLE <Table Name>ADD col_name Datatype;CREATE TABLE <Table Name>DROP COLUMN# 例子ALTER TABLE VendorsADD vend_phone CHAR(20);ALTER TABLE VendorsDROP COLUMN vend_phone;
3. DROP (刪除表)
#語法DROP TABLE table_name;#例子DROP TABLE CustCopy;
04 資料庫控制語言
1. GRANT
2. REVOKE
本部分展開太細,不做介紹,做為資料分析師需要重點掌握查詢陳述句!
 知識星球
知識星球