SELECT 문

HELLO_DINO·2022년 9월 27일
0

SQL전문가가이드

목록 보기
12/28

SELECT

SELECT [ALL/DISTINCT] 칼럼명, 칼럼명, ... FROM 테이블명;

ALL : 중복 데이터가 있어도 모두 출력. Default 옵션이다.
DISTINCT : 중복된 데이터가 있으면 1건으로 처리해 출력한다.

[예제]
SELECT PLAYER_ID, PLAYER_NAME, TEAM_ID, POSITION, HEIGHT, WEIGHT, BACK_NO FROM PLAYER;

DISTINCT 옵션

[예제]
SELECT ALL POSITION FORM PLAYER;
ALL은 생략 가능해서 아래 문장과 같다.
SELECT POSITION FORM PLAYER;

[예제]
SELECT DISTINCT POSITION FROM PLAYER;

결과를 보면 480개의 행 모두 출력되는 것이 아니라, 포지션의 종류인 4개의 행과 포지션 데이터가 아직 미정인 NULL까지 5건의 데이터만 출력된 것을 확인할 수 있다.

애스터리스크(*) 사용하기

테이블의 모든 칼럼 정보를 보고 싶을 경우 사용한다.

SELECT * FROM 테이블명;

[예제]
SELECT * FROM EMP;

실행 결과 화면을 보면 칼럼 레이블이 맨 위에 보이고 레이블 밑에 점선이 보인다.
그 다음 줄부터 실질적인 자료가 시작된다.
레이블은 기본적으로 대문자이고, 첫 라인에 보이는 레이블 정렬은 다음과 같다.

  • 좌측 정렬 : 문자 및 날짜 데이터
  • 우측 정멸 : 숫자 데이터

ALIAS 부여하기
조회된 결과에 일종의 별명(ALIAS, ALIASES)을 부여해 칼럼 레이블을 변경할 수 있다.

  • 칼럼명 바로 뒤에 온다.
  • 칼럼명과 ALIAS 사이에 AS, as 키워드를 사용할 수 있다.(옵션).
  • 이중 인용부호는 ALIAS가 공백, 특수문자를 포함할 경우와 대소문자 구분이 필요할 때 사용한다.

[예제]
SELECT PLAYER_NAME AS 선수명, POSITION AS 위치, HEIGHT AS 키, WEIGHT AS 몸무게 FROM PLAYER;

산술 연산자와 합성 연산자

산술 연산자
산술 연산자는 NUMBER와 DATE 자료형에 대해 적용되며, 수학의 사칙연산과 동일하다.
산술 연산을 사용하거나 특정 함수를 사용하면 칼럼의 레이블이 길어지고, 기존의 칼럼에 대해 새로운 의미를 부여한 것이므로 적절한 ALIAS를 새롭게 부여하는 것이 좋다.

산술 연산자는 수학에서와 같이 (), *, /, +, -의 우선순위를 가진다.

[예제]
SELECT PLAYER_NAME AS 선수명, HEIGHT - WEIGHT AS "키-몸무게" FROM PLAYER;

[예제]
SELECT PLAYER_NAME AS 선수명, ROUND(WEIGHT / ((HEIGHT / 100) * (HEIGHT / 100)), 2) AS BMI 비만지수 FROM PLAYER;

합성 연산자
문자와 문자를 연결하는 합성 연산자를 사용하면 별도의 프로그램 도움 없이도 SQL 문장만으로도 유용한 리포트를 출력할 수 있다. 합성 연산자의 특징은 다음과 같다.

  • 문자과 문자를 연결하는 경우 2개의 수직 바(||)를 사용한다(Oracle)
  • 문자와 문자를 연결하는 경우 + 표시를 사용한다(SQL Server)
  • CONCAT (string1, string2) 함수를 사용할 수 있다(Oracle, SQL Server)
  • 칼럼과 문자 또는 다른 칼럼과 연결한다
  • 문자 표현식의 결과에 의해 새로운 칼럼을 생성한다

[예제]
SELECT PLAYER_NAME || '선수, ' || HEIGHT || ' cm, ' || WEIGHT || ' kg' AS 체격정보 FROM PLAYER;

0개의 댓글