2014年5月25日 星期日

Oracle SQL UPDATE TABLE 基本用法

Oracle SQL UPDATE TABLE 基本用法

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄

先看

關鍵詞(keyword): UPDATE
UPDATE
修改表格裡的資料
基本用法:
UPDATE TABLE SET 欄位 = '更新資料' WHERE 條件;


簡單測試語法:
UPDATE BOOK SET BOOK_NAME='Oracle用法' WHERE BOOK_ID = 1;

測試:










其它文章

Oracle SQL DELETE FROM TABLE DATA基本用法

Oracle SQL DELETE FROM TABLE DATA基本用法

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


先看

關鍵詞(keyword): DELETE
DELETE
刪除表格裡的資料
基本用法:
DELETE FROM TABLE


簡單測試語法:
DELETE FROM BOOK WHERE BOOK_ID = 1;

測試:










其它文章

Oracle SQL DROP TABLE 基本用法

Oracle SQL DROP TABLE 基本用法

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


先看

關鍵詞(keyword): DROP  TABLE
DROP TABLE
刪除表格
基本用法:
DROP TABLE 名稱:

簡單測試語法:
DROP TABLE BOOK ;

測試:










其它文章

Oracle SQL INSERT INTO TABLE 基本用法

Oracle SQL INSERT INTO TABLE 基本用法

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄

關鍵詞(keyword): INSERT INTO
INSERT INTO TABLE
新增表格裡資料
基本用法:
INSERT INTO BOOK(欄位1,欄位2, N ...)
VALUES  (值1, 值2,值N ....);

簡單測試語法:
INSERT INTO BOOK
        (BOOK_ID, BOOK_NAME) 
VALUES  (1, 'oracle基本用法');

測試:











其它文章

Oracle SQL CREATE TABLE 基本用法

Oracle SQL CREATE TABLE 基本用法

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


關鍵詞(keyword): CREATE TABLE
新增 一個表格 為BOOK
基本用法:
CREATE TABLE  BOOK
(名稱 型態如:number ,
 名稱 型態如:varchar2(30)
 );

例:
CREATE TABLE  BOOK
(BOOK_ID number , 
 BOOK_NAME varchar2(30));

結果:











其它文章

Oracle SQL union及minus及intersect 綜合用法教學

Oracle SQL union及minus及intersect 綜合用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄

Union 對兩個結果資料做合併資料,去除重複資料
minus 留下上方結果資料,去掉重複的資料及下方結果資料
intersect 留下重複的資料

例:
使用 employees 員工表格

(表1 員工 100~105
Union 對兩個結果資料做合併資料,去除重複資料
表2 員工 105~115
)
intersect 留下重複的資料
(
表3 員工 110~118
minus 留下 上方結果資料,去掉重複的資料及下方結果資料
表4 員工 115~120
)

簡單測試語法:

(-- 100 ~ 115
SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 100 and 105
UNION
SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 105 and 115
)
intersect
(-- 110 ~ 114
SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 110 and 118
minus
SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 115 and 120
);
測試:











其它文章

Oracle SQL union all order by 用法教學

Oracle SQL union order by 用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


關鍵詞(keyword):  union all ,order by

Union All 對兩個結果資料做合併資料
order by 排序 一樣要放在最後

例:
使用 employees 員工表格
上方表 員工 110~118
下方表 員工 115~120
簡單測試語法:

SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 110 and 118
union all
SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 115 and 120
order by employee_id;
;

測試:











其它文章

Oracle SQL intersect用法教學

Oracle SQL intersect用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


關鍵詞(keyword):  intersect

intersect 對兩個結果資料做合併資料,
留下重複的資料


例:
使用 employees 員工表格
上方表 員工 110~118
下方表 員工 115~120
簡單測試語法:

SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 110 and 118
intersect
SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 115 and 120
;
測試:









其它文章

Oracle SQL minus 用法教學

Oracle SQL minus 用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄

關鍵詞(keyword):  minus

minus 對兩個結果資料做合併資料,
留下上方結果資料,去掉重複的資料及下方結果資料


例:
使用 employees 員工表格
上方表 員工 110~118
下方表 員工 115~120
簡單測試語法:

SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 110 and 118
minus
SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 115 and 120
;
測試:










其它文章

Oracle SQL union 用法教學

Oracle SQL union 用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄



關鍵詞(keyword):  union

Union 對兩個結果資料做合併資料,
去掉重複的資料。
自動重新排序
例:
使用 employees 員工表格
上方表 員工 110~118
下方表 員工 115~120
簡單測試語法:

SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 110 and 118
UNION
SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 115 and 120
;
測試:










其它文章

Oracle SQL union all 用法教學

Oracle SQL union all 用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


關鍵詞(keyword):  union all

Union All 對兩個結果資料做合併資料
不會自動重新排序
例:
使用 employees 員工表格
上方表 員工 110~118
下方表 員工 115~120
簡單測試語法:

SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 110 and 118
UNION ALL
SELECT employee_id,last_name,salary 
FROM employees
WHERE employee_id between 115 and 120
;
測試:









其它文章

Oracle SQL not in null 問題

Oracle SQL not in null 問題

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


用法說明:
關鍵詞(keyword): IN
not IN ()
如果使用子查詢 表格 ,要注意欄位的null問題
因為使用 not IN ( 有NULL )會查不出資料來

例:
此用 departments 資料表 來說明
DEPARTMENT_ID 有一筆 是NULL
使用not IN  ,將會查不出資料來。

SELECT 
    DEPARTMENT_ID,
    DEPARTMENT_NAME
FROM departments d
WHERE DEPARTMENT_ID  NOT IN(select DEPARTMENT_ID
                           from employees e);

測試:








其它文章

Oracle SQL not exists 用法教學

Oracle SQL not exists 用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄



關鍵詞(keyword): NOT exists
NOT exists (子查詢 sub Query)

NOT 反向

NOT exists (查詢是否有值)

例:
使用 employees 員工表格
使用 departments 部門表格

簡單測試語法:

查詢部門那些沒有員工

SELECT 
    DEPARTMENT_ID,
    DEPARTMENT_NAME
FROM departments d
WHERE NOT exists(select *
             from employees e
             where d.department_id=e.department_id)
;
測試:










其它文章

Oracle SQL exists 用法教學

Oracle SQL exists 用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄

關鍵詞(keyword): exists
exists (子查詢 sub Query)

exists (查詢是否有值)

例:
使用 employees 員工表格
使用 departments 部門表格

簡單測試語法:

SELECT 
    DEPARTMENT_ID,
    DEPARTMENT_NAME
FROM departments d
WHERE exists(select *
             from employees e
             where d.department_id=e.department_id)
;

測試:










其它文章

Oracle SQL having 子查詢 sub Query

Oracle SQL having  子查詢 sub Query

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


關鍵詞(keyword): having  (select語句)
having  子查詢 sub Query
將select語句當做having 的條件


例:

使用departments 部門表格

簡單測試語法:

SELECT
      department_id,
      max(salary)
FROM employees 
group by department_id
having department_id >  ( 
                      select  department_id from departments where DEPARTMENT_ID=50
                    )

測試:









其它文章

Oracle SQL join 子查詢 sub Query

Oracle SQL join 子查詢 sub Query

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


關鍵詞(keyword): JOIN  (select語句)
JOIN  子查詢 sub Query
將select語句當做JOIN 的來源


例:

使用departments 部門表格

簡單測試語法:

SELECT
      employee_id,
      last_name,
      salary,
      d.DEPARTMENT_NAME
FROM employees JOIN ( 
                      select  * from departments where DEPARTMENT_ID=50
                    ) d
ON employees.DEPARTMENT_ID = D.DEPARTMENT_ID;

測試:











其它文章

Oracle SQL where any 子查詢 sub Query

Oracle SQL where any 子查詢 sub Query

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄

關鍵詞(keyword): where any  (select語句)
where any  子查詢 sub Query
將select語句當做條件


例:

使用departments 部門表格


SELECT
      employee_id,
      last_name,
      salary
FROM employees
WHERE salary > ANY(
                    select MAX(salary)
                    from employees
                    group by department_id
                    having MAX(salary) >10000
                )
ORDER BY employee_id;

測試:










其它文章

Oracle SQL where all 子查詢 sub Query

Oracle SQL where all 子查詢 sub Query

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄

關鍵詞(keyword): where  all  (select語句)
where  all  子查詢 sub Query
將select語句當做條件


例:

使用departments 部門表格

SELECT
      employee_id,
      last_name,
      salary
FROM employees
WHERE salary >=  all(
                    select MAX(salary)
                    from employees
                )
ORDER BY employee_id;

測試:










其它文章

Oracle SQL SOME的用法教學

Oracle SQL SOME的用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄

用法說明:
關鍵詞(keyword): SOME
SOME 滿足其中一個值 就進來

WHERE 欄位 > SOME(1,2,3,4,9,11,12)

例:
此用 EMPLOYEES 資料表 來說明
查出
SALARY = 24000,12000,10000的資料

SELECT 
  EMPLOYEE_ID,
  FIRST_NAME,
  JOB_ID,
  SALARY,
  DEPARTMENT_ID
FROM EMPLOYEES 
WHERE salary = SOME(
                   24000,12000,10000
                )
ORDER BY employee_id;

測試:



例:
此用 EMPLOYEES 資料表 來說明
查出
SALARY > 24000,12000,10000的資料

SELECT 
  EMPLOYEE_ID,
  FIRST_NAME,
  JOB_ID,
  SALARY,
  DEPARTMENT_ID
FROM EMPLOYEES 
WHERE salary > SOME(
                   24000,12000,10000
                )
ORDER BY employee_id;

測試:


例:
此用 departments 資料表 來說明


SELECT d.* 
FROM departments d 
where d.DEPARTMENT_ID > SOME(
                        select  
                             DEPARTMENT_ID
                        from departments where DEPARTMENT_ID=50
                       )
;
測試:










其它文章

Oracle SQL ANY的用法教學

Oracle SQL ANY的用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


用法說明:
關鍵詞(keyword): ANY
Any 滿足其中一個值, 就進來

WHERE 欄位 > ANY(1,2,3,4,9,11,12)

例:
此用 EMPLOYEES 資料表 來說明
查出
SALARY = 24000,12000,10000的資料

SELECT 
  EMPLOYEE_ID,
  FIRST_NAME,
  JOB_ID,
  SALARY,
  DEPARTMENT_ID
FROM EMPLOYEES 
WHERE salary = ANY(
                   24000,12000,10000
                )
ORDER BY employee_id;

測試:


例:
此用 EMPLOYEES 資料表 來說明
查出
SALARY  > 24000,12000,10000的資料

SELECT 
  EMPLOYEE_ID,
  FIRST_NAME,
  JOB_ID,
  SALARY,
  DEPARTMENT_ID
FROM EMPLOYEES 
WHERE salary > ANY(
                   24000,12000,10000
                )
ORDER BY employee_id;

測試:


例:
此用 departments 資料表 來說明


SELECT d.* 
FROM departments d 
where d.DEPARTMENT_ID > ANY(
                        select  
                             DEPARTMENT_ID
                        from departments where DEPARTMENT_ID=50
                       )
;
測試:










其它文章

Oracle SQL ALL的用法教學



使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


用法說明:
關鍵詞(keyword): ALL
ALL 滿足全部的值才進來

WHERE 欄位 > ALL(1,2,3,4,9,11,12)

例:
此用 EMPLOYEES 資料表 來說明
查出
SALARY = 12000,10000的資料

SELECT 
  EMPLOYEE_ID,
  FIRST_NAME,
  JOB_ID,
  SALARY,
  DEPARTMENT_ID
FROM EMPLOYEES 
WHERE salary = ALL(
                   12000,10000
                )
ORDER BY employee_id;


測試:



例:
此用 EMPLOYEES 資料表 來說明
查出
SALARY > 12000,10000的資料

SELECT 
  EMPLOYEE_ID,
  FIRST_NAME,
  JOB_ID,
  SALARY,
  DEPARTMENT_ID
FROM EMPLOYEES 
WHERE salary > ALL(
                   12000,10000
                )
ORDER BY employee_id;


測試:









其它文章

Oracle SQL where in 子查詢 sub Query

Oracle SQL where in 子查詢 sub Query

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄



關鍵詞(keyword): where in  (select語句)
where in  子查詢 sub Query
將select語句當做條件


例:

使用departments 部門表格

簡單測試語法:

SELECT d.* 
FROM departments d 
where d.DEPARTMENT_ID in(
                        select  
                             DEPARTMENT_ID
                        from departments
                       ) 
;

測試:









其它文章

Oracle SQL where 子查詢 sub Query

Oracle SQL where 子查詢 sub Query

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


關鍵詞(keyword): where  (select語句)
where  子查詢 sub Query
將select語句當做條件


例:

使用departments 部門表格

簡單測試語法:

SELECT d.* 
FROM departments d 
where d.DEPARTMENT_ID =(
                        select  
                             DEPARTMENT_ID
                        from departments where DEPARTMENT_ID=10
                       ) 
;


測試:










其它文章

Oracle SQL 結合型的子查詢 sub Query

Oracle SQL 結合型的子查詢 sub Query

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


select子查詢 sub Query
+
from 子查詢 sub Query

例:
使用departments 部門表格
多個子查詢測試語法:

SELECT t.* 
FROM (
		 select  
				d.DEPARTMENT_NAME,
				( select count(*) 
				  from employees e
				  where d.department_id = e.department_id 
				) total
		 from departments d 
      ) t
WHERE t.total>0; 



測試:









其它文章

Oracle SQL from 子查詢 sub Query

Oracle SQL from 子查詢 sub Query

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄



關鍵詞(keyword): from (select語句)
from 子查詢 sub Query
將select語句當做來源資料


例:
使用departments 部門表格

簡單測試語法:

SELECT t.* 
FROM (
		 select  
				d.DEPARTMENT_NAME
		 from departments d 
      ) t;


測試:









其它文章

Oracle SQL select子查詢 sub Query

Oracle SQL select子查詢 sub Query

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄

關鍵詞(keyword): (select語句)
select子查詢 sub Query
在select語句裡包一個語句

例:
使用departments 部門表格

SELECT 
      d.DEPARTMENT_NAME,
      ( 
        select 
              count(*) 
        from employees e
        where d.department_id = e.department_id 
      ) 部門總人數
FROM departments d;


測試:










其它文章

Oracle SQL 語句基本格式說明

Oracle SQL 語句基本格式說明

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄



SQL 語句基本格式

SQL 語句 =
指令 + 語法 + 結尾

SELECT 欄位 FROM 表格 WRERE 條件 ;

指令 : SELECT 、INSERT、UPDATE
語法 : 來源 + 條件
來源 : FROM
條件 : WHERE 、 GROUP BY 等
結尾 : ;










其它文章

Oracle SQL 的分類DML、DCL、DDL

Oracle SQL 的分類DML、DCL、DDL

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


DDL 資料定義語言   Data Definition Language (DDL)

相關指令:

CREATE - to create objects in the database
ALTER - alters the structure of the database
DROP - delete objects from the database
TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed
COMMENT - add comments to the data dictionary
RENAME - rename an object


DML 資料操作語言    Data Manipulation Language (DML)

相關指令:

SELECT - retrieve data from the a database
INSERT - insert data into a table
UPDATE - updates existing data within a table
DELETE - deletes all records from a table, the space for the records remain
MERGE - UPSERT operation (insert or update)
CALL - call a PL/SQL or Java subprogram
EXPLAIN PLAN - explain access path to data
LOCK TABLE - control concurrency

DCL 資料控制語言    Data Control Language (DCL)

相關指令:

GRANT - gives user's access privileges to database
REVOKE - withdraw access privileges given with the GRANT command


TCL 交易控制語言   Transaction Control (TCL)

相關指令:

COMMIT - save work done
SAVEPOINT - identify a point in a transaction to which you can later roll back
ROLLBACK - restore database to original since the last COMMIT
SET TRANSACTION - Change transaction options like isolation level and what rollback segment to use

參考:http://www.xpode.com/ShowArticle.aspx?Articleid=156











其它文章

Oracle SQL 多個table join

Oracle SQL 多個table join

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄

例:
使用employees 員工表格
使用departments 部門表格
使用locations 所在地表格


SELECT 
      e.first_name,
      e.salary,
      d.department_name,
      l.city
FROM 
         employees e 
    JOIN departments d
    ON ( e.department_id = d.department_id )
    JOIN locations l
    ON  l.location_id = d.location_id ;

測試:











其它文章

Oracle SQL join 注意事項意事項

Oracle SQL join 注意事項意事項

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


column ambiguously defined
欄位模棱兩可問題

例:
SELECT 
      employee_id,
      department_name,
      department_id
FROM
employees INNER JOIN departments
ON ( employees.department_id = departments.department_id);

錯誤:
ORA-00918: column ambiguously defined
00918. 00000 -  "column ambiguously defined"

其問題:
在 department_id
因為不知道要顯示employees還是departments的department_id

解法:指定來源表格

SELECT 
      employee_id,
      department_name,
      employees.department_id
FROM
employees INNER JOIN departments
ON ( employees.department_id = departments.department_id);

測試:









其它文章

Oracle SQL join 的種類

Oracle SQL join 的種類

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


一、 內部聯結(INNER JOIN)(預設值)
二、 外部聯結(OUTER JOIN)
左外部聯結(LEFT OUTER JOIN)
右外部聯結(RIGHT OUTER JOIN)
完全外部聯結(FULL OUTER JOIN)
三、self-JOIN 自身聯結JOIN
四、NATVRAL JOIN
五、JOIN USING
六、交差結合(CROSS JOIN)










其它文章

Oracle SQL cross join 用法教學

Oracle SQL cross join  用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄

關鍵詞(keyword):cross join
交差結合(CROSS JOIN)


A表的每一筆資料 跟 B表的每一筆資料做聯結

注意:
如同 A表 * B表
A表要107筆 * B表要27筆 = 2889筆


例:
使用 employees 員工表格
使用 departments 部門表格

SELECT 
      EMPLOYEE_ID,
      FIRST_NAME,
      DEPARTMENT_NAME
FROM employees CROSS JOIN departments;

測試:

例:
使用 employees 員工表格
使用 departments 部門表格

SELECT 
      EMPLOYEE_ID,
      FIRST_NAME,
      DEPARTMENT_NAME
FROM employees , departments;

測試:











其它文章

Oracle SQL join using 用法教學

Oracle SQL join using  用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


關鍵詞(keyword): using(欄位名稱)

兩個table的相同欄位名稱
使用某個欄位來進行資料比對


例:
使用 employees 員工表格
使用 departments 部門表格


select 
      employee_id,
      department_name
from  employees join departments using(department_id);

測試:











其它文章

Oracle SQL natvral join 用法教學

Oracle SQL natvral join  用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄

關鍵詞(keyword): natvral

兩個table的相同欄位名稱
進行資料比對
如:
使用employees及departments
有這二個欄位相同
department_id、manager_id

例:
使用 employees 員工表格
使用 departments 部門表格

NATVRAL JOIN

select 
      employee_id,
      department_name
from  employees natural join departments;

測試:


注意:
因為是自動對應相同欄位名稱。
所以當在二個table中有多個相同欄位名稱,
都會對應上,反而可能會造成不是你想要的資料。

指定相同欄位名稱來join 使用join using











其它文章

Oracle SQL self-join 自身JOIN

Oracle SQL self-join 自身JOIN

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


關鍵詞(keyword):

self-JOIN 自身聯結JOIN
自己 JOIN 自己

例:
使用employees 員工表格
找出員工的主管
使用內部聯結(INNER JOIN)
SELECT 
      e1.EMPLOYEE_ID,
      e1.FIRST_NAME,
      e1.MANAGER_ID
FROM employees e1 JOIN employees e2
ON( e1.MANAGER_ID = e2.EMPLOYEE_ID);

測試:


可以依自己的需求使用不同的JOIN

例:
使用employees 員工表格
找出員工的主管
左外部聯結(LEFT OUTER JOIN)

SELECT 
      e1.EMPLOYEE_ID,
      e1.FIRST_NAME,
      e1.MANAGER_ID
FROM employees e1 JOIN employees e2
ON( e1.MANAGER_ID = e2.EMPLOYEE_ID);

測試:









其它文章

Oracle SQL full outer join 用法教學

Oracle SQL full outer join  用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


關鍵詞(keyword): full outer join

完全外部聯結(FULL OUTER JOIN)
依左右邊TABLE 為主 ,
不管在左右邊TABLE有沒有聯結到,
都要顯示出左右邊TABLE的資料

例:
使用employees 員工表格
使用departments 部門表格
完全外部聯結(FULL OUTER JOIN)
SELECT 
      employees.EMPLOYEE_ID,
      employees.FIRST_NAME,
      employees.DEPARTMENT_ID,
      departments.DEPARTMENT_ID,
      department_name
FROM employees FULL OUTER JOIN departments
ON( employees.department_id = departments.department_id);

測試:










其它文章

Oracle SQL right outer join 用法教學

Oracle SQL right outer join 用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


關鍵詞(keyword): right outer join

右外部聯結(RIGHT OUTER JOIN)
依右邊TABLE 為主 ,
右邊TABLE 不管在左邊TABLE有沒有聯結到,
都要顯示出右邊TABLE的資料

例:
使用employees 員工表格
使用departments 部門表格
右外部聯結(RIGHT OUTER JOIN)
SELECT 
      employees.EMPLOYEE_ID,
      employees.FIRST_NAME,
      employees.DEPARTMENT_ID,
      departments.DEPARTMENT_ID,
      department_name
FROM employees RIGHT OUTER JOIN departments
ON( employees.department_id = departments.department_id);


測試:









其它文章

Oracle SQL left outer join 用法教學

Oracle SQL left outer join 用法教學

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


關鍵詞(keyword): left outer join

左外部聯結(LEFT OUTER JOIN)
依左邊TABLE 為主 ,
左邊TABLE 不管在右邊TABLE有沒有聯結到,
都要顯示出左邊TABLE的資料

例:
使用employees 員工表格
使用departments 部門表格
左外部聯結(LEFT OUTER JOIN)
SELECT 
      employees.EMPLOYEE_ID,
      employees.FIRST_NAME,
      employees.DEPARTMENT_ID,
      departments.DEPARTMENT_ID,
      department_name
FROM employees LEFT OUTER JOIN departments
ON( employees.department_id = departments.department_id);

測試:









其它文章

Oracle SQL nonequal join 不對等join

Oracle SQL nonequal join 不對等join

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄


關鍵詞(keyword): BETWEEN
non Equi join 是一種說法,
不對等(non Equi)聯結(join)
非使用 = 來做聯結

例:
使用employees 員工表格
使用JOBS
此為non Equi join

SELECT 
      e.EMPLOYEE_ID,
      e.FIRST_NAME,
      j.JOB_ID,
      e.SALARY
FROM employees e JOIN JOBS j
ON e.SALARY BETWEEN j.MIN_SALARY AND j.MAX_SALARY
ORDER BY e.EMPLOYEE_ID;

測試:










其它文章

Oracle SQL Equi join 對等join

Oracle SQL Equi join 對等join

使用工具sqldeveloper
  請先參考 sqldeveloper下載及安裝及連線

測試資料來源請先參考 Oracle DB 目錄

關鍵詞(keyword): =
Equi join 是一種說法,
對等(Equi)聯結(join)
一對一為對等join。
使用 = 來做聯結

例:
使用employees 員工表格
使用departments 部門表格
此為Equi join

SELECT 
      employees.EMPLOYEE_ID,
      employees.FIRST_NAME,
      employees.DEPARTMENT_ID,
      departments.DEPARTMENT_ID,
      department_name
FROM employees JOIN departments
ON( employees.department_id = departments.department_id);


測試:











其它文章

PostgreSQL pgAdmin III 設定中文介面


文章說明使用版本:
PostgreSQL 版本8.4
pgAdmin PostgreSQL Tools Version 1.10.5

File - > options ->
圖1

選擇 General  - > User language
選擇 (zh_TW)中文(正體)
按下OK
圖2

關閉pgAdmin III
重新開啟pgAdmin III
就可以看到中文介面了
圖3




不同版本介面會不一樣
找到User language 選中文
有的版本沒支援,就安將新版的吧!
PostgreSQL 版本9.3 介面設定
圖4






















其它文章

標籤

Oracle (150) Oracle DB (144) Oracle_DB (143) Oracle SQL (135) JAVA (84) css-基本類 (65) MySQL (59) CSS Selector (58) jQuery (49) JavaScript-基本類 (39) Spring Boot (38) JavaScript (37) JavaScript HTML DOM (37) JavaScript-HTML_DOM (36) CSS3 (30) JAVA-基本類 (28) jQuery UI (27) Apache (23) Oracle GROUP BY (20) datepicker (20) Android (18) Oracle Date (17) c (17) JAVA-lang套件 (16) Linux (16) Oracle Sub Query (16) Spring-基本類 (16) jQuery-基本類 (16) MySQL-進階系列教學 (15) Android基本類 (14) Grails (14) Oracle join (14) SQLite (13) Spring (13) WIN7-基本類 (13) grails-基本類 (13) linux cent os (13) CKEditor (12) JAVA-流程控制類 (12) JAVA_Spring (12) PHP (11) Spring MVC (11) MySQL-基本系列教學 (10) Notepad (10) Notepad++ (10) SQLite for java (10) Windows (10) c/c++ (10) eclipse (9) jQuery-Selector (9) sqldeveloper (9) DB_Toad (8) JAVA_IDE_Eclipse (8) JavaScript-String類 (8) MySQL DB Toad (8) MySQL-DATE相關 (8) MySQL-函式相關 (8) Spring Bean (8) Android Studio (7) HTML5 (7) Hibernate (7) JAVA-OCWCD (7) JavaScript-陣列類 (7) Docker (6) JAVA-程式分享 (6) JAVA.util套件 (6) JavaScript-數學類 (6) MinGw (6) MySQL-其它類 (6) Servlet (6) centos (6) Apache_Tomcat (5) Apache套件_POI (5) CSS (5) JavaScript-Date物件 (5) JavaScript-其它類 (5) PostgreSQL (5) httpd (5) log4j (5) 基本資訊 (5) 開發工具 (5) CSS Properties (4) Dev-C++ (4) IntelliJ IDEA (4) Oracle DDL (4) Sublime (4) TortoiseSVN (4) apache_Maven (4) Android NDK (3) Eclipse IDE for C/C++ (3) Hibernate-基本類 (3) JAVA-問題 (3) JAVA-綀習分享 (3) JVM (3) Linux 指令 (3) Proxy Server (3) Spring Mobile (3) Spring web (3) Squid (3) VirtualBox (3) maven (3) zk (3) 生活其它 (3) Bootstrap (2) Filter (2) JAVA_IO (2) JAVA_其它_itext套件 (2) JBoss-問題 (2) JSP (2) Jboss (2) Listener (2) MySQL-語法快速查詢 (2) Spring AOP (2) Spring Batch (2) Spring Boot Actuator (2) Spring i18n (2) Subversive (2) Tomcat 8 (2) UML (2) WebJars (2) WinMerge (2) c++ (2) c語言綀習題 (2) jQuery Mobile (2) jQuery-事件處理 (2) jQuery-套件類 (2) putty (2) svn (2) weblogic (2) Apache_JMeter (1) Apache套件_BeanUtils (1) Apache套件_StringUtils (1) Base64 (1) Google API (1) HTML5-基本類 (1) Heap (1) JAVA 7 (1) JAVA SE 、JAVA EE、JAVA ME (1) JAVA 日期 (1) JAVA-OCJP (1) JAVA-WEB (1) JAVA_IDE (1) JAVA其它 (1) JBoss Server (1) JDK (1) JMX (1) JRE (1) Java RMI (1) Java String (1) Joda Time (1) Linux_其它 (1) MySQL教學 (1) Oracle_VirtualBox (1) SQL Server (1) SWT (1) Session (1) Stack (1) Struts 2 (1) Tool (1) ZK Studio (1) csv (1) grails-其它類 (1) jQuery-進階 (1) java mail (1) java web (1) java8 (1) jsoup (1) mockmvc (1) modules (1) tomcat (1) win10 (1) 其它類 (1) 圖片工具 (1) 模擬器 (1) 讀書分享 (1) 開發資訊 (1)

精選文章

初學 Java 的 HelloWorld 程式

撰寫一個JAVA程式 public class HelloWorld{ public static void main(String[ ] args){ System.out.println("我第一支Java程式!!"); } } ...