Base/Database

[Database] SQL select 문 사용법

반응형

1.기본 select 절

 

SELECT 컬럼명
FROM  테이블명;

 

여기서 * 은 모든 컬럼을 뜻한다.

 

이렇게 각각의 컬럼을 명시해도 된다. 보통 가독성을 위해 아래와 같이 많이 쓰여진다.

 

 

2.컬럼 값에 대해 연산

 

SELECT 컬럼명 * 12
FROM  테이블명;

 

 

해당 EMPLOYEE 컬럼을 봤을때 연봉을 계산 하기 위해서는 SALARY * 12가 필요하다.

이런식으로 해당 컬럼에 대해 산술 연산이 가능하다.

 

 

3.컬럼값에 대한 alias(별칭) 

 

SELECT 컬럼명 AS 별칭
FROM  테이블명;

 

컬럼뒤 에 있는 as sql alias(별칭)로서 컬럼의 이름을 새로 지을수 있다. 그래서 컬럼 뒤에 AS 를 붙이고 내가 원하는 컬럼명으로 바꿔서 넣어준다. 여기서 실제 컬럼명이 바뀌는건 아니고 지금 당시 보일때만 컬럼명이 바껴서 나온다.

지금 현재 이름에는 " " 가 안들어가고 다른 컬럼에는 " " 가 들어가 있다. alias를 쓸 때 주의할 점은 문자에 대해서는 그냥 사용해도 되지만 특수문자나(여기서는 ( ) ) 첫글자의 시작이 숫자인( 1 )경우에는 " " 이 쌍따옴표 안에 원하는 것을 넣어야 한다. 그리고 대소문자를 구분해야 하는 경우에도 쌍따옴표를 써야한다.

 

4.DISTINCT로 중복 값을 한번만 보기

 

SELECT DISTINCT 컬럼명
FROM  테이블명;

 

현재 아래 테이블을 검색했을때는 중복되는 값이 보인다. 90 이나 60,50등 이걸 중복을 뺀 값을 보기 위해서는

 

DISTINCT를 사용해서 이런식으로 볼 수 있다.

 

5.WHERE 절 사용

 

SELECT 컬럼명
FROM  테이블명

WHERE 컬럼 = 값;

 

WHERE 절 사용을 통해 컬럼에서 내가 원하는 값을 찾거나 범위등을 지정해서 내가 필요한 값들만 추출해 낼 수 있다.

위와 같은 경우에서 DEPT_ID 가 90일 때를 말한다. 

 

 

6.연산자 사용

 

SELECT 컬럼명
FROM  테이블명

WHERE 컬럼 = 값 연산자 컬럼 = 값

 

연산자의 종류

 

논리 연산자 

AND :  A 그리고 B - 둘다 조건에 맞아야 TRUE

OR : A 또는 B 중 하나의 조건만 맞아도 TRUE

NOT : 조건의 반대 값

 

비교 연산자

= -  같다

<,>  -  크거나 작다

<=,>=  - 크거나 같다 , 작거나 같다.

<>,!=,^=  - 같지않다

BETWEEN AND  - 특정범위에 포함되는걸 찾는다

LIKE / NOT LIKE  -  문자 패턴비교

IS NULL / IS NOT NULL -  NULL 여부 비교

IN  -  비교 값 목록에 포함되 

 

 

 

AND 조건

아래와 같은 경우에서 DEPT_ID 가 90 이고 SALARY 가 5000000 이상인 경우만 출력한다는 뜻이다. 이때 

 

가운데 AND는 말 뜻대로 그리고의 뜻으로 두가지 조건을 모두 충족할 경우라고 보면 된다.

 

 

OR 조건

여기서는 DEPT_ID가 90 이거나 또는 SALARY가 500000 이상인 경우 모두 출력된다.

 

 

각 컬럼을 연결하여 값을 연결해서 나오게끔 한다.

 

 

BETWEEN 값 AND 값 을 넣어줘 사이에 있는 값을 찾는다.

BETWEEN 사용

 

 

LIKE '원하는 값'으로 넣어준다. 여기서 김% 는 김이라는 문자열을 찾은 후 그 뒤에는 어떤 문자가 와도 상관 없다는 뜻이다. 김으로 시작되는 김XX 가능

%예% 라고 칠경우 가운데에 예라는 문자만 들어오면 앞뒤는 어떤 문자여도 상관없다. 

 

LIKE % RUDDN

 

IS NULL 같은 경우에 값이 NULL 인 행을 찾는다. 

IS NOT NULL 같은 경우에는 반대인 경우 값이 있는 행을 찾는다.

 

IS NULL
IS NOT NULL

 

 

IN 을 통해서 여러개의 조건을 한번에 확인한다 여기서는 OR 비슷하다.

OR 로 했을경우 

 

WHERE EMP_NAME = '심하균' OR EMP_NAME = '염정하'

이런 느낌이다.

 

 

IN

 

 

 

 

 

반응형