Db Sql02


연습환경


  • DB : mariaDB
  • SampleData : https://github.com/datacharmer/test_db

table 열 조회


show columns from employees;


조회하기, Select 문의 기본 문법


select [distinct] 열이름 [aliase] From 테이블이름 [where 조건식] [order by 열이름 [asc or desc]] [limit 숫자];

  • [] : 생략가능
  • 굵은 글씨 : 필수 입력

전체 데이터 조회하기


select *
from employees;

*: 출력할려는 열을 쓴다. *은 모든 열을 의미 from: ~테이블로 부터 employees: employees 테이블


원하는 열만 조회하고 제한하고 정렬하기


select emp_no, first_name, last_name
from employees
order by emp_no desc
limit 10;

emp_no, first_name, last_name: 출력할려는 열을 쓴다. 구체적으로 적으면 해당 열만 조회한다. oreder by 열이름 [desc, asc]: 해당 열을 내림차순(desc), 혹은 오름차순(asc)으로 조회한다. limit: 조회하는 데이터의 개수를 제한한다. limit 19, 10이라면 20~30번째 숫자가 조회된다.


중복된 출력 값 제거하기


select distinct emp_no, first_name, last_name
from employees
order by emp_no desc
limit 10;

distinct : 중복된 출력 값 제거하기, 후에 left join과 함께 많이 사용된다.


별칭 사용하기


열 이름을 바꿀 때 사용한다.

select emp_no as num, first_name as FN, last_name as LN
from employees
order by emp_no desc
limit 10;

as 별칭 : 열 이름을 바꿀 수 있다.


데이터 값 연결하기


각 열에 따로 담겨 있는 데이터 값을 하나로 붙이거나 추가 수식을 붙여 출력할 수 있다.

  • mysql version
    select concat(first_name, last_name)
    from employees
    limit 10;
    
  • oracle version
    select first_name || last_name
    from employees
    limit 10;
    


산술 처리하기 데이터: 값 끼리 계산


산술 연산자 +, -, *, /를 통하여 select 문에서 from 절을 제외하고 모든 절에서 사용가능하다.

select emp_no + 10
from employees
limit 10;


Where 조건 절을 통한 데이터 검색


where 절에 비교 연산자를 사용하여 다양한 조건 검색이 가능하다.

select *
from employees
where emp_no = 10001;

select *
from employees
where emp_no >= 10001
limit 10;


SQL연산자 : 조회 조건 확장하기


sql 연산자는 비교 연산자보다 조금 더 확장된 연산자로 자주 쓰이는 연산자이다.

구분연산자의미
SQL 연산BETWEEN a AND ba 와 b 사이의 값이 있다. (a, b 값 포함)
IN (list)list 중 어느 값이라도 일치한다.
LIKE '비교문자'비교문자와 형태가 일치한다.(%, _ 사용)
IS NULLnull 값을 찾는다.
select *
from employees
where emp_no between 10000 AND 20000
limit 10;

select *
from employees
where emp_no in (10000, 17000, 24000);

select *
from employees
where first_name LIKE 'da%';

select *
from employees
where emp_no IS NULL;






© 2019.04. by salmon2

Powered by theorydb