네이버클라우드 캠프 5기/학습내용 정리

13. ORACLE - Select

박세류 2023. 4. 13. 16:29

1. DQL(Data Query Language)

1. 데이터를 조회하는 Select 구문

  1. 기본적인 Select 구문의 구성
    • SELECT 조회할 데이터의 컬럼1,
         조회할 데이터의 컬럼2,  
         조회할 데이터의 컬럼3,  
         조회할 데이터의 컬럼4
      FROM 테이블명;
    • 해당 테이블에서 컬럼1, 컬럼2, 컬럼3, 컬럼4에 해당하는 데이터를 조회해라.
    • 조회쿼리는 데이터의 추가, 삭제, 수정이 일어나지 않기 때문에 커밋이나 롤백의 사용이 불필요.
    • SELECT 뒤에 컬럼명 대신 *를 사용할 경우 해당 테이블의 모든 컬럼의 데이터를 조회한다.
  2. 조회하는 컬럼이나 테이블에 별칭을 붙이기
    • SELECT 조회하는 컬럼 AS(생략가능) 붙일별칭 : 컬럼명대신 별칭으로 데이터를 가져온다. 조회하면 새로운 테이블을 만들어주는데 새로운 테이블의 컬럼명이 별칭으로 잡힌다.
    • FROM 조회하는 테이블 붙일별칭 : SELECT 해올 컬럼들을 어떤 테이블에서 가져오는지 지칭할 수 있다. 별칭.컬럼명으로 SELECT 구문을 구성할 수 있다.
  3. 데이터가 NULL값일 때 처리를 해주는 NVL(MySQL -> IFNULL)
    • SELECT NVL(조회할 컬럼, 조회할 컬럼의 데이터가 null인 경우 처리방식) : 컬럼의 데이터를 모두 조회해서 값이 NULL인 데이터만 처리방식으로 처리해준다.
      ex) SELECT NVL(SNO, '-')
        FROM STUDENT;
  4. 문자열을 연결해주는 연결연산자 ||(MySQL -> CONCAT(문자열1, 문자열2))
    • 여러개의 컬럼을 하나의 컬럼으로 묶어서 표출하고 싶을 때 연결연산자를 사용한다.
    • 연결할 컬럼1 || 연결할 컬럼2
  5. 중복제거자 DISTINCT
    • DISTINCT 컬럼명 : 해당 컬럼에 중복된 데이터가 있으면 중복을 제거한다.
    • SELECT 구문과 함께 사용하여 중복된 데이터가 몇개든지 상관없이 하나의 데이터만 표출.
  6. 지정한 컬럼을 기준으로 정렬해주는 ORDER BY
    • WHERE절 다음이나 GROUP BY절 다음에 사용한다.
    • ORDER BY 컬럼명 ASC or DESC
    • ASC나 DESC를 생략하면 자동으로 ASC로 인식
    • ASC : 오름차순으로 정렬(작은 값 -> 큰 값)
    • DESC : 내림차순으로 정렬(큰 값 -> 작은 값)
  7. 조건을 걸어서 원하는 데이터만 추출하는 WHERE절
    • FROM 테이블 뒤에 WHERE 조회조건;
    • 조회조건으로는 값의 크기를 비교, 값이 동일한지, 같은 날짜 데이터인지, 문자열이 주어진 문자열을 포함하는지 ... 조건을 줄수 있다.
    • 값의 크기 비교는 자바에서와 마찬가지로 부등호를 사용해서 비교한다.(>, >=, <=, <)
    • 값의 동일여부 비교는 =, !=로 비교한다.
    • LIKE를 이용해서 문자열 포함여부를 검사하게 되는데 %를 이용해서 많은 기능을 구현할 수 있다.
      • LIKE '문자열' : 문자열과 같은지 비교
      • LIKE '%문자열' : 문자열로 끝나는지 비교
      • LIKE '문자열%' : 문자열로 시작하는지 비교
      • LIKE '%문자열%' : 문자열을 포함하는지 비교
      • LIKE '김_' : 김으로 시작하는 두글자 문자열 검색
      • LIKE '_김' : 김으로 끝나는 두글자 문자열 검색
      • LIKE '' : 가운데 글자가 동이면서 세글자인 문자열 검색
      • LIKE '___' : 세글자인 문자열을 검색
    • NULL 값 여부를 비교할 때는 IS NULL, IS NOT NULL을 사용한다.
  8. 다중 조건을 만들어주는 AND, OR 절
    • WHERE 조회조건1
      AND 조회조건2
      AND 조회조건3
      ...;
      WHERE절부터 마지막 AND절까지의 조건을 모두 충족하는 데이터만 조회.
    • WHERE 조회조건1
      OR 조회조건2
      OR 조회조건3
      ...;
      WHERE절부터 마지막 OR절까지의 조건 중에 하나라도 충족하는 모든 데이터를 조회.
  9. 사이의 값을 조회할 때 사용하는 BETWEEN AND 절
    • 조건절에서 사용하며
      사이 값을 찾을 컬럼명 BETWEEN 시작값 AND 끝값
    • BETWEEN AND 는 시작값과 끝값을 포함(이상, 이하)
    • 미만, 초과의 값을 구할 때는 각각의 크기비교를 AND절로 묶는다.
  10. 같은 컬럼을 여러개의 값과 비교해주는 IN절
    • 조건절에서 사용되며
      비교할 컬럼 IN (비교될 값1, 비교될 값2, 비교될 값3.....) => 컬럼 = 값1 OR 컬럼 = 값2 OR 컬럼 = 값3.....
    • 같은 컬럼의 데이터를 비교할 때는 OR절을 여러개 사용하는 것보다 IN절을 사용하는 것이 가독성이 좋다.
  11. 쿼리에서의 '', ""
    • 문자열이나 문자는 ''사용해서 묶어야된다.
    • ""는 별칭(alias)을 붙일 때 사용한다.
반응형

'네이버클라우드 캠프 5기 > 학습내용 정리' 카테고리의 다른 글

15. ORACLE - DML  (0) 2023.05.02
14. ORACLE - Join & SubQuery  (0) 2023.04.13
12. Oracle - SQL  (0) 2023.04.12
11. Oracle - Database  (0) 2023.04.12
10. JAVA - LamDa  (0) 2023.04.11