SQL문 작성 규칙

 - 인용부호를 붙이지 않으면 대소문자를 구분하지 않는다.
 - 여러 라인에 걸쳐 작성이 가능하며 가독성을 위해 들여쓰기 하는 것이 좋다.
 - 키워드는 여러 행에 나눠 쓰거나 약어로 쓸 수 없다.
 - 여러 컬럼을 검색할 경우 쉼표로 컬럼을 구분하다.
 - SELECT절에서 출력 결과에 표시할 순서대로 컬럼을 지정한다.

 

 연산자

 - 곱하기 *
 - 나누기 /
 - 더하기 +
 - 빼기 -

 

 컬럼 별칭(Alias)

 - 컬럼의 원래 이름이 아닌 별도의 이름을 컬럼 HEADING에 표시한다.
 - 주로 연산이 수행된 컬럼에 사용한다.
 - 컬럼명 다음에 AS를 쓴 뒤, 그 뒤에 별칭으로 사용할 단어를 제시한다.(AS는 생략 가능)
 - 특수 문자나 공백을 컬럼의 별칭으로 사용하고자 별칭에 큰 따옴표("")를 사용한다.

 

 연결 연산자
 - 컬럼 또는 문자를 다른 컬럼과 연결할 때 사용한다,
 - 두개의 수직바(||)로 표시한다.
 - 연산자의 좌우에 있는 컬럼이 결합되어 단일 컬럼으로 출력된다.

 

1
SELECT player_name || '선수' FROM player;
 

 

 

 중복 행 제거(DISTINCT)
 - 컬럼에 있는 동일한 값은 한 번만 결과에 표시되도록 한다.
 - SELECT 바로 뒤에 사용한다.
 - DISTINCT 다음에 여러 열 지정이 가능하다.
 - 모든 컬럼에 영향을 주어 결과로 고유한 컬럼 조합이 표신된다.

 

1
SELECT DISTINCT position FROM player;
 

 

 

 특정 ROW 선택하기
 - WHERE절을 사용하여 질의에서 반환되는 행을 제안할 수 있다.
 - WHERE절은 조건을 기술하며 FROM절 바로 다음에 사용한다.
 - 조건이 참일 경우 조건을 만족하는 행이 반환된다.
 - CHAR, VARCHAR2와 같은 문자형 타입과 DATE 날짜 타입을 가진 컬럼을 특정 값과 비교하기 위해서는 인용부호로 묶어서 비교 처리를 해야 하지만 NUMBER 같은 숫자 형태의 값은 인용부호를 사용하지 않고 그대로 사용하면 된다.

 

 비교 연산자 
 - 같다 = 
 - 크다 >, 크거나 같다 >= 
 - 작다 <, 작거나 같다 <= 
 - 같지 않다 <>, !=

 

 

 

 SQL 연산자

 

 BETWEEN A AND B

 - 조건절에 명시된 값이 지정된 A값과 B값 사이에 포함되는지 비교한다.

 - ex) 몸무게가 85 이상 88 이하인 선수의 이름, 팀ID, 몸무게 조회

 

1
SELECT player_name, team_id, weight FROM player WHERE weight BETWEEN 85 AND 88;
 

 

 

 IN
  - 비교 대상이 괄호 안의 값 중 하나와 일치하는지 확인하다.
  - 비교하는 값이 하나이더라도 반드시 괄호와 같이 사용해야 한다.
  - IN 다음 비교하는 값은 문자, 숫자, 날짜 타입 모두 사용할 수 있다.

  - ex) 포지션이 GK, MF, TC인 선수들의 이름, 영문 이름 조회

 

1
SELECT player_name, e_player_name FROM player WHERE position IN('GK''MF''TC');
 

 

 

 LIKE
 - 특정 문자나 문자열이 포함되어 있는지를 확인한다.
 - 특정 패턴에 속하는 값을 조회하고자 하는 경우 사용한다.
 - 와일드카드 문자(%, _)를 이용해 문자열 부분 매칭여부를 확인하는데 %는 0개 문자 또는 1개 이상의 문자열이 올 수 있을을 의미한고 _는 반드시 1개 문자가 있어야 함을 의미한다.

 

 - ex) 이름의 첫 번째 글자가 '김' 인 선수들의 이름, 포지션 조회

 

1
SELECT player_name, position FROM player WHERE player_name LIKE '김%';
 

 

 - ex)이름의 두 번째 글자가 '동'인 선수들의 이름, 팀ID 조회

 

1
SELECT player_name, team_id FROM player WHERE player_name LIKE '_동%';
 

 

 

 IS NULL
 - IS NULL 연산자를 사용해서 NULL 여부를 확인한다.

 - ex) 보너스가 NULL인 사원의 이름, 급여, 보너스 조회 

 

1
SELECT ename, sal, comm FROM emp WHERE comm IS NULL;
 

 

 

 오늘의 한 줄 : 부분부분만 알고 있던거 같다

 

 

 

 

 출처 : SK 동반성장 아카데미, 비전공자를 위한 SQL 입문, 「컬럼(Column) 및 로우(Row)의 선택」 

+ Recent posts