[Oracle] 비교연산자, ALL, ANY, IN, NOT IN, BETWEEN, LIKE 연습

2021. 5. 27. 00:35·데이터베이스/Oracle
반응형
Oracle에서 교육용으로 제공하는 HR계정으로 실습 [EMPLOYEES 테이블]

 

 

SELECT
FROM
WHERE 조건절 -> IF

비교연산자( > < >= <= != <>)
NULL, IS NULL( =NULL) -> 문법상 Oracle에선 사용이 안된다
IS NOT NULL( !=NULL)
AND(&&), OR(||)


이름이 Julia
SELECT first_name, last_name FROM EMPLOYEES WHERE first_name = 'Julia';

급여가 $9000 이상인 사원
SELECT first_name, salary FROM employees where SALARY >= 9000;

이름이 Shanta 보다 큰 이름
SELECT first_name FROM employees WHERE first_name > 'Shanta'; --이름의 첫 스펠링만 비교하는 게 아니다.

이름의 첫 스펠링이 J보다 큰 이름
SELECT first_name FROM employees where first_name >= 'J';

매니저가 없는 사원
SELECT first_name
FROM employees
WHERE manager_id IS NULL;
--WHERE manager_id = NULL;
--WHERE manager_id = '';

조건이 2개 이상일 경우
AND, OR
SELECT
*
FROM employees
WHERE first_name = 'Shanta'
AND first_name = 'Vollman'; --당연히 아무도 안 나온다. first_name이 Shanta AND Vollman

SELECT
*
FROM employees
WHERE first_name = 'Shanta'
OR first_name = 'Volman'; -- first_name이 'Shanta' 이거나 'Volman'인 사람

복합 조건
이름 John 그리고 월급은 50005000 이상
SELECT
*
FROM employees
WHERE first_name = 'John'
AND salary >= 5000;

날짜에 대한 조건
--2007년 12월 3131일 이후에 입사한 사원을 출력
SELECT
first_name, hire_date
FROM employees
WHERE hire_date > '07/12/31';

SELECT
first_name, hire_date
FROM employees
WHERE hire_date > TO_DATE('20071231', 'YYYYMMDD'); --> TO_DATE(A, B) A를 BB의 형식으로 시간을 변경

ALL(= AND), ANY(= OR)
--전체 데이터가 여러 개 일 때..
SELECT
*
FROM employees
WHERE first_name = ALL('Julia', 'John'); --> WHERE first_name = 'Julia' AND first_name = 'John'

ANY 각각의 데이터가 달랐을 때 주로 사용..
SELECT
*
FROM employees
WHERE first_name = ANY('Julia', 'John'); -- OR조건 결과가 제대로 출력이 된다.

--급여 8000, 3200, 6000 인 사람을 출력
SELECT
salary
FROM employees
WHERE salary = ANY(8000, 3200, 6000);

IN, NOT IN
SELECT first_name, salary
FROM employees
WHERE salary IN(8000, 3200, 6000); --급여가 8000, 3200, 6000 인 사람

SELECT first_name, salary
FROM employees
WHERE salary NOT IN(8000, 3200, 6000); --급여가 8000, 3200, 6000이 아닌 사람

SELECT first_name
FROM employees
WHERE first_name IN('Julia', 'John'); -- 이름이 'John' 이거나 'Julia'인 사람

BETWEEN 범위 연산자
SELECT first_name, salary
FROM employees
WHERE salary BETWEEN 3200 AND 9000;
-- WHERE salary >= 3200 AND salary <= 9000; --급여가 3200 이상 9000이하인 사람

SELECT first_name, salary
FROM employees
WHERE salary NOT BETWEEN 3200 AND 9000; -- 3200보다 작거나 9000보다 큰 사람

 

LIKE
SELECT first_name
FROM employees
WHERE first_name LIKE 'G_ra_d'; -- _ 한 글자가 어떠한 문자든 허용

SELECT first_name
FROM employees
WHERE first_name LIKE 'K%y'; -- % 글자 수에 제한 없이 모두 허용
-- %의 위치에 따라 포함되는 게 달라질 수 있다.
SELECT first_name
FROM employees
WHERE first_name LIKE 'K%'; -- K로 시작하는 사람 전부 출력

SELECT first_name
FROM employees
WHERE first_name LIKE '%a%'; -- a가 포함되어있는 사람 모두 출력 %A(맨 끝에 A인 사람 출력)

--06년도에 입사한 사람 전부 뽑고 싶을 때
SELECT first_name, hire_date
FROM employees
WHERE hire_date >= '06/01/01' AND hire_date <= '06/12/31';

SELECT first_name, hire_date
FROM employees
WHERE hire_date LIKE '06%';

SELECT first_name, phone_number
FROM employees
WHERE PHONE_NUMBER LIKE '590%'; --지역번호가 590에 해당하는 사람

반응형
저작자표시 (새창열림)

'데이터베이스 > Oracle' 카테고리의 다른 글

[Oracle] JOIN 쉽게 이해하기  (0) 2021.05.29
[Oracle] ORDER BY, HAVING, ALIAS, GROUP FUNCTION 연습  (0) 2021.05.27
[Oracle] scott 계정 연습문제 (SELECT문, 비교 연산자, 논리 연산자)  (0) 2021.05.27
[Oracle] SELECT문 형식  (0) 2021.05.27
[Oracle] DDL, DML, DCL 정의  (0) 2021.05.27
'데이터베이스/Oracle' 카테고리의 다른 글
  • [Oracle] JOIN 쉽게 이해하기
  • [Oracle] ORDER BY, HAVING, ALIAS, GROUP FUNCTION 연습
  • [Oracle] scott 계정 연습문제 (SELECT문, 비교 연산자, 논리 연산자)
  • [Oracle] SELECT문 형식
:j
:j
ddongjunn@gmail.com
  • :j
    dev.j
    :j
  • 전체
    오늘
    어제
    • :j
      • 프로그래밍 언어
        • Java
        • html
        • JavaScript
        • XML
        • JSON
        • CSS
        • jQuery
        • Web
        • k8s
        • JPA
      • 프레임워크
        • Spring
      • 코딩 테스트
        • Java
      • 네트워크
        • CCNA
      • 데이터베이스
        • Mssql
        • Oracle
      • 회고
      • :j story
      • CS
  • 블로그 메뉴

    • 홈
    • 태그
    • github
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    항해99
    class
    항해플러스백앤드
    appendChild
    지역변수
    멤버변수
    Name
    HAVING
    항해솔직후기
    다형성
    MSSQL
    Queue
    오버로딩
    항해백앤드
    id
    <br>
    group by
    오버라이딩
    항해플러스
    항해플러스백엔드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
:j
[Oracle] 비교연산자, ALL, ANY, IN, NOT IN, BETWEEN, LIKE 연습
상단으로

티스토리툴바