MySQL 살펴보기

호근·2022년 12월 21일
0

Mysql

목록 보기
1/2

테이블에서 원하는 조건의 데이터를 조회한 결과를 result set (결과집합)이라고한다.

작성법

select column_name
from table_name
where condition;

생성할 컬럼(열)이름, 데이터를 가져올 테이블이름, 조건문 순으로 작성한다.

연산자

타언어와 거의 유사한 연산자를 가지고있다.

산술연산자

+, -, *, /, %

비교연산자

<, >, <=, >=, =, !=, <>

논리연산자

and, or, not

연산자 우선순위

적용된다.


컬럼 별칭

변수 지정하듯이 별칭을 지정할 수 있다.

컬럼명 as 별칭,
컬럼명 별칭,
컬럼명 as '별칭',
컬럼명 '별칭'


distinct

  • result set에서 중복된 row를 제거한다.
    ex) 근로자 테이블에서 부서코드 조회, 중복제거
    select distinct dept_code
    from employee;

and

# 1. employee 테이블에서 부서코드가 D6, 급여를 200만원 이상 받는 직원의 이름, 부서코드 급여 조회

select emp_name, dept_code, salary
from employee
where DEPT_CODE = 'D6' and SALARY >= 2000000;

or

# 2. employee테이블에서 부서코드가 D9 이거나 D5인 사원 중
# 급여를 400만원 이상 받는 모든 사원을 조회하시오

select emp_name, DEPT_CODE, SALARY
from employee
where (DEPT_CODE = 'D9' or DEPT_CODE = 'D5') and SALARY >= 4000000;

between

between A and B : 이상 이하 표현식

# 3. employee테이블에서 월급이 350만원 이상, 600만원 이하에 속하지 않는 사원들의 모든 정보를 조회
select emp_name, salary
from employee
where Not (SALARY between 3500000 and 6000000);

날짜 데이터

날짜데이터는 비교연산이 가능하다.


like

문자열의 특정데이터 포함여부를 확인

컬럼값의 like 절에서 지정한 패턴을 만족하는 문자열이 있다면 true

like패턴 작성법

컬럼명 like '패턴'
패턴문자는 '%'이다.

'A%' : A로 시작하는
'%A' : A로 끝나는
'%A%': A를 포함하는

# employee 테이블에서 성이 이씨이고 입사일이 12-01-01 이후인 사원의 사번,이름,고용일 조회

select emp_id, emp_name, hire_date
from employee
where EMP_NAME like '이%'
and HIRE_DATE > '12-01-01';
like의 와일드카드 '_'

like절의 와일드카드 '_'

_에는 어떤 문자가 와도 상관없다.

# employee 테이블에서 전화번호의 뒤에서 4번째 자리가 9인 사원의 이름, 전화번호 조회
select emp_name, phone
from employee
where phone like '%9___';

위 코드처럼 뒤에서부터 4번째 자리까지 도달하는 3개의 자리에 '_'을 기입한다.


IN

컬럼값이 목록에 있으면 true

#직급코드가 'J7' 또는 'J2'인 직원 중 급여가 200만원 이상인 직원의 이름, 급여, 직급코드를 조회

select emp_name, salary, JOB_CODE
from employee
where JOB_CODE in('J7','J2')
and SALARY >= 2000000;

is null

컬럼값이 null인지 확인

profile
22.11.28 ~

0개의 댓글