ORACLE SQL練習(五)

--日期轉換爲字符串ide


SELECT DATE_HIRE, TO_CHAR(DATE_HIRE, 'Month dd yyyy') HIRE字符串

  FROM EMPLOYEE_PAY_TBL;產品



SELECT EMPLOYEE_TBL.EMP_ID,it

       EMPLOYEE_TBL.LAST_NAME,class

       EMPLOYEE_PAY_TBL.POSITION語法

  FROM EMPLOYEE_TBL, EMPLOYEE_PAY_TBL數據

 WHERE EMPLOYEE_TBL.EMP_ID = EMPLOYEE_PAY_TBL.EMP_ID;di


SELECT E.EMP_ID,EP.SALARY,EP.DATE_HIRE,E.LAST_NAMEview

FROM EMPLOYEE_TBL E,EMPLOYEE_PAY_TBL EPvi

WHERE E.EMP_ID = EP.EMP_ID

AND EP.SALARY > 20000;


SELECT E.EMP_ID,E.LAST_NAME,P.POSITION

FROM EMPLOYEE_TBL E,EMPLOYEE_PAY_TBL P

WHERE E.EMP_ID <> P.EMP_ID;


--外聯結返回一個表裏的所有記錄,即便對應的記錄在第二個表裏不存在。


SELECT P.PROD_DESC, O.QTY

  FROM PRODUCTS_TBL P, ORDERS_TBL O

 WHERE P.PROD_ID = O.PROD_ID;

 

-- 顯示所有的產品,無論它是否有訂單


--ORACLE SQL語法

SELECT P.PROD_DESC, O.QTY

  FROM PRODUCTS_TBL P, ORDERS_TBL O

 WHERE P.PROD_ID = O.PROD_ID(+);         --具備‘+’號的表是沒有匹配記錄的表


--ANSI SQL語法

SELECT P.PROD_DESC, O.QTY

  FROM PRODUCTS_TBL P

  LEFT JOIN ORDERS_TBL O

    ON P.PROD_ID = O.PROD_ID;


--自聯結

--當須要的數據在同一個表裏,而咱們又必須對記錄進行一些比較時,就能夠用自聯結。


--列出僱員及其主管的姓名


SELECT E1.NAME,E2.NAME

FROM EMP E1,EMP E2

WHERE E1.MGR_ID = E2.EMP_ID


--E1表能夠看作是保存僱員信息的表,E2表是保存主管信息的表。



--使用基表


SELECT C.CUST_NAME, P.PROD_DESC

  FROM CUSTOMER_TBL C, PRODUCTS_TBL P, ORDERS_TBL O

 WHERE C.CUST_ID = O.CUST_ID

   AND P.PROD_ID = O.PROD_ID;

   

   

SELECT E.CITY, AVG(EP.SALARY)

  FROM EMPLOYEE_TBL E, EMPLOYEE_PAY_TBL EP

 WHERE E.EMP_ID = EP.EMP_ID

 GROUP BY E.CITY;


SELECT E.EMP_ID, E.LAST_NAME, E.FIRST_NAME, EP.SALARY, EP.BONUS

  FROM EMPLOYEE_TBL E

  JOIN EMPLOYEE_PAY_TBL EP

    ON E.EMP_ID = EP.EMP_ID;

相關文章
相關標籤/搜索