• 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,...);
arrow
arrow
    全站熱搜

    Chris 發表在 痞客邦 留言(0) 人氣()