[Oracle DB] Oracle DB 쿼리문 (SELECT)

방용환·2023년 5월 2일
0
post-thumbnail

1. 기초

1. 기초 지식

  • SQL 명령은 대소문자를 구분하지 않으며 하나의 명령으로 처리되도록 ';' 기호 사용
  • SQL 명령은 대소문자를 구분하지 않지만 ''에 들어가는 문자값은 대소문자를 구분
  • 식별자(테이블 명, 컬럼명, 별칭 등)은 스네이크 표기법 사용하여 작성
  • SQL 명령은 예약어(키워드)와 사용자 정의 명칭(식별자)의 단어로 구성
  • 테이블 (TABLE) : 데이터베이스에서 데이터(행)을 저장하기 위한 기본 객체
  • DQL (DATA QUERY LANGUAGE) : 테이블에 저장된 행을 검색하기 위한 SQL 명령 (데이터 질의어)

2. Oracle SQL Developer

  • [CTRL] + [ENTER] : 커서 위치의 SQL 명령을 전달하여 실행
  • [F5] : 워크시트에 작성된 모든 SQL 명령을 전달하여 실행
  • USER : 현재 접속사용자의 이름을 표현하기 위한 키워드
  • SHOW USER : 현재 서버에 접속한 사용자의 이름을 확인하기 위한 명령
  • SELECT TABLE_NAME FROM TABS : 현재 접속 사용자가 접근 가능한 스키마에 존재하는 테이블 목록 확인
  • DESC [테이블명] : 테이블의 구조 확인 (컬럼명과 자료형)

3. DQL (DATA QUERY LANGUAGE)

  • SELECT : 하나 이상의 테이블에서 행을 검색하기 위한 명령

2. SELECT

  • SELECT : 하나 이상의 테이블에서 행을 검색하기 위한 명령
  • 검색대상 : * (모든 컬럼), 컬럼명, 연산식, 함수 등
  • 검색문자 : [%] (전체), [_] (문자 하나)
  • COLUMN ALIAS : 검색대상에 별칭을 부여하는 기능
    => 검색대상을 명확하게 구분하기 위해 COLUMN ALIAS 기능 사용
  • 컬럼명 BETWEEN 작은값 AND 큰값 : 범위를 효현한 조건식을 이용하여 컬럼값이 작은값부터 큰 값 범위에 포함될 경우의 행 검색
  • 컬럼명 IN (값, 값, ...) : 컬럼값이 나열된 값들중 하나에 포함되도록 행을 검색
  • 컬럼명 LIKE '검색문자를 포함한 비교값' : 검색문자를 이용하여 컬럼값을 비교 검색할 경우 [=] 연산자 대신 LIKE 키워드 사용
  • 컬럼명 IS NULL or 컬럼명 IS NOT NUL : IS 키워드를 사용하여 NULL을 구분하는 조건식 사용

여러 형식

SELECT 검색대상, 검색대상, ... FROM 테이블명
=> 하나의 테이블에 저장된 모든 행을 검색하기 위한 SELECT 명령

SELECT 검색대상 (AS) 별칭, 검색대상 (AS) 별칭, ... FROM 테이블명

SELECT 검색대상, 검색대상, 검색대상 * 12 FROM 테이블명
=> 검색대상으로 컬럼값을 이용한 연산식 사용 가능

SELECT 검색대상 || 검색대상 FROM 테이블명
=> 검색대상에 || 기호를 사용하여 문자값으로 결합하여 검색

SELECT DISTINCT 검색대상, 검색대상, ... FROM 테이블명
=> 검색대상의 중복값을 제외하고 유일한 하나의 컬럼값만 검색

SELECT 검색대상, 검색대상, ... FROM 테이블명 WHERE 조건식
=> 조건식을 사용하여 조건이 참인 행만 검색

SELECT 검색대상, 검색대상, ... FROM 테이블명 WHERE NOT(검색대상='');
=> NOT 키워드를 사용하여 조건식의 결과가 참이 아닌 거짓인 행만 검색

SELECT 검색대상, 검색대상, FROM 테이블명 ORDER BY 검색대상 DESC, 검색대상 DESC, ...
=> 테이블에 저장된 모든 검색대상을 내림차순 정렬 검색

SELECT 검색대상, 검색대상, FROM 테이블명 ORDER BY 검색대상 (ASC), 검색대상 (ASC), ...
=> 테이블에 저장된 모든 검색대상을 오림차순 정렬 검색

0개의 댓글