INNER JOIN 將兩個表使用特定的key值(外鍵)串起來 (INNER JOIN)
//只有兩個表的Column有match到,才會回傳所有的ROW,若Customers有但是Orders沒有則不會被列出來
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
INNER JOIN Orders // 也可寫成 JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
LEFT JOIN 將兩個表使用特定的key值(外鍵)串起來 ( LEFT OUTER JOIN)
//以左邊的表為準,將右邊的表加進來;與INNER JOIN 不同的是當右邊的表為
空值時,仍然會列出該//ROW;只有當Column都沒有Match到的時候才會回傳空ROW
SELECT Customers.CustomerName , Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
RIGHT JOIN 將兩個表使用特定的key值(外鍵)串起來 ( RIGHT OUTER JOIN)
//以右邊的表為準,將左邊的表加進來;與INNER JOIN 不同的是當左邊的表為
空值時,仍然會列出該//ROW;只有當Column都沒有Match到的時候才會回傳空ROW
FULL OUTER JOIN 將兩個表使用特定的key值(外鍵)串起來
//只要Match到就將內容匯進來不論其是否有值
UNION//將兩個SELECT 到的TABLE資料做結合
( 兩資料表務必要同型態 順序 名稱 )SELECT * FROM Customers WHERE Country ='Germany'
UNION (預設只選出DISTINCT 值 若要允許duplicate 則要改用
UNION ALL )
SELECT * FROM Suppliers WHERE Country ='Germany'
ORDER BY City
SELECT INTO 用來複製表的資料到另一個新表
SELECT *
INTO CustomersBackup2013 (IN 'Back.mdb ')
FROM Customers ;
WHERE Country='Germany'
//從LEFT JOIN的結果選出資料插入新資料表
SELECT Customers.CustomerName, Orders.OrderID
INTO CustomersOrderBackup2013
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID;
//只複製出沒有資料的表格(只有Column schema)
SELECT *
INTO newtable
FROM table1
WHERE 1=0;
INSERT INTO 從表A插入表B資料(不會影響到現有資料)
//INSERT INTO 進階版寫法 從別的表插入資料↓↓↓
INSERT INTO Customers(CustomerName , Country)
SELECT SupplierName , Country FROM Suppliers
WHERE Country = 'Germany';
//
基礎版寫法直接插入值INSERT INTO table_name
VALUES (value1,value2,value3,....)
//
基礎版寫法直接插入值2
INSERT INTO table_name (
column1,
column2,
column3,...)
VALUES (
value1,
value2,
value3,...);