(Database Programming) SQL 문법 / 데이터 조회, 정렬

soosoorim·2024년 2월 20일
0

데이터 조회
하나 이상의 테이블에서 여러 Row(데이터)를 가져온다.

SELECT [COLUMN], [COLUMN], […]
  FROM [TABLE]

SELECT * -> * 는 모두다 가져오라는 뜻

주요 함수 및 문법

  • TO_CHAR(DATE 타입의 날짜 값 혹은 컬럼, ‘날짜 포멧‘)
    날짜타입의 데이터를 문자로 변경한다.
  • TO_DATE(문자열타입의 날짜 값 혹은 컬럼, ‘날짜 포멧‘)
    문자 타입의 날짜 데이터를 날짜 타입으로 변경한다.
  • LPAD(숫자 타입의 값 또는 컬럼, 채울 자리수, 빈 공간에 채울 문자)
    숫자 왼쪽 공간에 문자를 채운다.
    LPAD(1, 6, ‘0’) => 000001
  • NVL(NULL일 가능성이 있는 컬럼, 기본값)
    값 또는 컬럼이 NULL이라면 기본값으로 표현한다.
  • CASE WHEN ELSE END
    Java의 if 와 유사

데이터 정렬

SELECT [COLUMN], [COLUMN], […]
  FROM [TABLE]
 ORDER BY [COLUMN] [ORDER TYPE] -> 여기서 [COLUMN]은 기준이 되는 [COLUMN]으로
  • 정렬 방식에는 ASC, DESC 가 존재한다.
    ASC 혹은 생략 : 오름차순
    DESC : 내림차순
  • ORDER BY 는 CPU를 많이 사용

-- EMPLOYEES 테이블에서 모든 칼럼들의 모든 데이터를 조회.
SELECT *
  FROM EMPLOYEES
;

-- EMPLOYEES 테이블에서 EMPLOYEE_ID의 모든 데이터를 조회.
SELECT EMPLOYEE_ID
  FROM EMPLOYEES
;

-- EMPLOYEES 테이블에서 EMPLOYEE_ID, FIRST_NAME의 모든 데이터를 조회.
SELECT EMPLOYEE_ID
	 , FIRST_NAME
  FROM EMPLOYEES
;
/*
 * ASC 혹은 생략: 오름차순
 * DESC: 내림차순
 */
 -- EMPLOYEES 테이블에서 모든 데이터를 LAST_NAME을 기준으로 내림차순 조회 (ORDER BY)
SELECT *
  FROM EMPLOYEES
 ORDER BY LAST_NAME DESC
;

-- EMPLOYEES 테이블에서 LAST_NAME으로 내림차순 정렬을 하고 FIRST_NAME으로 오름차순 정렬을 해서 모든 데이터를 조회.
SELECT *
  FROM EMPLOYEES
 ORDER BY LAST_NAME DESC
     , FIRST_NAME ASC
;

-- EMPLOYEES 테이블에서 SALARY(연봉)로 오름차순 정렬을 하고 FIRST_NAME으로 내림차순 한 뒤  HIRE_DATE(입사일)로 오름차순 정렬하여
-- 모든 데이터를 조회.
SELECT *
  FROM EMPLOYEES
-- ORDER BY SELECT 문장의 가장 마지막에 위치해야한다.
 ORDER BY SALARY ASC
     , FIRST_NAME DESC 
     , HIRE_DATE ASC 
;

-- ORDER BY 명령은 CPU를 매우 많이 사용하는 키워드.
 

0개의 댓글

관련 채용 정보