Oracle 에서 간단 한 조회,한정 조회,데이터 정렬 SQL 문장의 범례 와 상세 한 설명

간단 한 조회
SQL(Structured Query Language)구조 화 된 조회 언어 는 데이터베이스 조회 와 프로 그래 밍 언어 로 데이터 액세스 및 조회,업데이트 및 관리 관계 데이터 베이스 시스템 에 사용 된다.ANSI(미국 국가 표준 학회)는 SQL 이 데이터베이스 관리 시스템 과 관련 된 표준 언어 라 고 주장 했다.
Oracle 데이터베이스 가 잘 발전 한 이 유 는 Oracle 이 전 세계 에서 최초 로 SQL 문 구 를 사용 한 데이터베이스 제품 이기 때문이다.
SQL 기능 이 강력 합 니 다.요약 하면 다음 과 같은 몇 그룹 으로 나 눌 수 있 습 니 다.
DML(Data Manipulation Language)       ,          
DDL(Data Definition Language) , , 、
DCL(Data Control Language) ,
간단 한 조 회 는 표 의 모든 데 이 터 를 조회 하 는 것 을 말 합 니 다.간단 한 조회 의 문법 은 다음 과 같 습 니 다.
SELECT [DISTINCT] * |    [  ] [,   [  ]] FROM     [  ];  
범례:

SELECT * FROM dept;--  dept        
SELECT empno, ename, sal FROM emp;--          、  、      
SELECT job FROM emp;--          。           job           。  
SELECT DISTINCT job FROM emp;--  DISTINCT          。        ,                ,      。  
SELECT DISTINCT ename, job FROM emp;--          、    
SELECT ename, job, sal*12 FROM emp;--            ,            、  、      
SELECT ename, job, sal*12 income FROM emp;--            ,    ,        ,        ,      。  
SELECT ename, job, (sal+300)*12 income FROM emp;--         ,     200        100     ,         
SELECT ename, job, (sal+300)*12+sal income FROM emp;--                     
SELECT empno || ',' || ename FROM emp;--           “||”       。  
SELECT '     :' || empno || '      :' || ename || ',     :' || sal || ',   :' || job || '! '      FROM emp;--                 :“     :7369      :SMITH,     :800,   :CLERK!” 
","는 원래 출력 된 문자열 에 속 하기 때문에""괄호"를 사용 해 야 합 니 다.즉,SQL 구문 에서"""는 문자열 을 표시 합 니 다.
별명 에 있 는 내용 은'괄호'를 사용 하지 말고 SELECT 자구 에 나 오 는 내용 만''를 사용 하 는 것 을 기억 해 야 한다.
2.한정 조회
이전의 간단 한 조회 에서 모든 기록 을 표시 하지만 지금 은 표 시 된 기록 을 걸 러 낼 수 있 는 작업 입 니 다.이것 은 한정 조회 의 작업 에 속 합 니 다.한정 조 회 는 바로 이전 문법 을 바탕 으로 WHERE 자 구 를 추가 하여 한정 조건 을 지정 하 는 데 사 용 됩 니 다.이때 문법 은 다음 과 같 습 니 다.
SELECT [DISTINCT] * |    [  ] [,   [  ]]   
FROM [ ]  
[WHERE (S)]; 
WHERE 자구 이후 여러 조건 을 추가 할 수 있 습 니 다.가장 흔히 볼 수 있 는 조건 은 기본 적 인 관계 연산 입 니 다:>=,<,<=,!=(<>),BETWEEN、AND、LIKE、IN、IS NULL、AND、OR、NOT;
1.관계 연산

SELECT * FROM emp WHERE sal>1500;--           1500         
SELECT * FROM emp WHERE job='clerk';--                  
SELECT * FROM emp WHERE job='CLERK';--             ,      Oracle    ,               
SELECT * FROM emp WHERE sal>=1500 AND sal<=3000;--     1500~3000         ,          AND OR        
SELECT * FROM emp WHERE job='CLERK' OR job='SALESMAN';--         ,              
SELECT * FROM emp WHERE (job='CLERK' OR job='SALESMAN') AND sal>1200;--         ,            ,             1200  
SELECT * FROM emp WHERE job<>'CLERK';--                
SELECT * FROM emp WHERE job!='CLERK';  
SELECT * FROM emp WHERE NOT job='CLERK'; 
2.범위 판단:BETWEEN...AND...
"BETWEEN 최소 치 AND 최대 치"는 한 범위 의 판단 과정 을 나타 낸다."BETWEEN...AND..."조작 부 호 는 바늘 만 있 는 것 이 아니 라 날짜 에 도 유용 합 니 다.
SELECT * FROM emp WHERE sal BETWEEN 1500 AND 3000;--          1500~3000        
SELECT * FROM emp WHERE NOT sal BETWEEN 1500 AND 3000;-- BETWEEN…AND…   
SELECT * FROM emp WHERE hiredate BETWEEN '01-1 -1981' AND '31-12 -81';--  
3.공백 여 부 를 판단:IS(NOT)NULL
이 문법 을 사용 하면 특정한 필드 의 내용 이'null'인지 아 닌 지 를 판단 할 수 있 지만 null 과 숫자 0,빈 문자열 은 두 가지 개념 입 니 다.
SELECT * FROM emp WHERE comm IS NOT NULL;--                 
SELECT * FROM emp WHERE NOT comm IS NULL;  
SELECT * FROM emp WHERE comm IS NULL;--  
4.지 정 된 범위 의 판단:IN 연산 자
IN 연산 자 는 검색 범 위 를 지정 합 니 다.

SELECT * FROM emp WHERE empno=7369 OR empno=7566 OR empno=7799;--  OR          7369、7566、7799       
SELECT * FROM emp WHERE empno IN (7369,7566,7799);--  IN          7369、7566、7799       
SELECT * FROM emp WHERE empno NOT IN (7369,7566,7799);  NOT IN           7369、7566、7799       
SELECT * FROM emp WHERE empno IN(7369,7566,null);--   IN   ,          null,     ;  
SELECT * FROM emp WHERE empno NOT IN(7369,7566,null);--    NOT IN   ,          null            。 
5.모호 조회:LIKE 자구
LIKE 자구 의 기능 은 모호 한 검색 동작 을 제공 합 니 다.예 를 들 어 일부 프로그램 에 나타 난 검색 동작 은 모두 LIKE 자구 의 실현 에 속 하지만 검색엔진 의 검색 은 LIKE 가 아 닙 니 다.하지만 LIKE 자 구 를 사용 하려 면 일치 하 는 기호 두 개 를 알 아야 합 니 다.
      :_; -> 1 
:%; -> 0 、1 、

SELECT * FROM emp WHERE ename LIKE 'A%';--            A           
SELECT * FROM emp WHERE ename LIKE '_A%';--                A         
SELECT * FROM emp WHERE ename LIKE '%A%';--              A     
SELECT * FROM emp WHERE ename NOT LIKE '%A%';--  NOT  ,            
SELECT * FROM emp WHERE ename LIKE '%1%' OR hiredate LIKE '%1%' OR sal LIKE '%1%';--  LIKE  ,           :
개발 과정 에서 데이터베이스 의 모호 한 조 회 는 반드시 LIKE 자 구 를 사용 하지만 LIKE 자 구 를 사용 할 때 가장 큰 주의 점 이 있 습 니 다.모호 한 조회 에 어떠한 조회 키 워드 를 설정 하지 않 으 면('%%')모든 기록 을 조회 하 는 것 을 의미 합 니 다.
SELECT * FROM emp WHERE ename LIKE '%%' OR hiredate LIKE '%%' OR sal LIKE '%%';  
3.데이터 정렬
데이터 가 조회 결 과 를 되 돌려 준 후에 모든 데 이 터 는 기본적으로 직원 번호 에 따라 정렬 됩 니 다.물론 지금 은'ORDER BY'자 구 를 사용 하여 필요 한 정렬 작업 열 을 지정 할 수 있 습 니 다.이때 SQL 문법 은 다음 과 같 습 니 다.
SELECT [DISTINCT] * |    [  ] [,   [  ]]   
FROM [ ]  
[WHERE (S)]  
[ORDER BY [ASC|DESC] [, [ASC|DESC],…]]; 
"ORDER BY"자 구 는 모든 SQL 문장의 마지막 내용 이 고 정렬 에 대해 다음 과 같은 몇 가지 설명 이 있 습 니 다.
정렬 할 때 여러 정렬 필드 를 지정 할 수 있 습 니 다.
정렬 방식 은 두 가지 가 있 습 니 다.1.오름차 순(ASC):기본 값 이 고 쓰 지 않 아 도 오름차 순 입 니 다.2.내림차 순(DESC):사용 자 는 큰 것 에서 작은 것 으로 정렬 해 야 합 니 다.

SELECT * FROM emp ORDER BY sal;--          ,          
SELECT * FROM emp ORDER BY sal ASC;  
SELECT * FROM emp ORDER BY sal DESC;--        
SELECT * FROM emp ORDER BY sal DESC, hiredate ASC;--          ,          ,      ,              
정렬 작업 에 있어 서 일반적으로 필요 한 곳 에서 만 사용 되 며,반드시 기억 해 야 할 것 은 ORDER BY 자 구 는 모든 SQL 문장의 마지막 부분 에 쓰 여 있다 는 것 이다.

좋은 웹페이지 즐겨찾기