마리아 DB를 복습하면서 내가 작성했던 코드를 조금 더 디테일하게 풀어보려고 한다.
drop database if exists
a6;
create databasea6;
usea6;
a6;의 의미는 만약 a6라는 데이터베이스가 있으면 삭제하라는 의미.a6; 의 의미는 데이터베이스 a6를 만들라는 의미a6; 는 데이터베이스 a6를 사용하겠다는 의미=====================================================
create table dept(
id int unsigned not null auto_increment,
primary key(id),
regDate datetime,
name char(100)
);
insert into dept
set regDate = now(),name = '홍보';
insert into dept
set regDate = now(), name = '기획';
select *
from dept;
insert into dept는 dept 테이블에 내용을 채우겠다는 뜻이며
set regDate = now(),name = '홍보'; 은 regDate는 지금 등록하는 날짜,시간을 기록하라는 뜻이고 name은 홍보로 하겠다는 뜻이다.
=====================================================
create table emp(
id int unsigned not null auto_increment,
primary key(id),
regDate datetime,
name char(100),
dept char(100),
pay char(100)
);
insert into emp
set regDate = now(), name = '홍길동', dept = '홍보', pay = '5000만원';
insert into emp
set regDate = now(), name = '홍길순', dept = '홍보', pay = '6000만원';
insert into emp
set regDate = now(), name = '임꺽정', dept = '기획', pay = '5000만원';
select *
from emp;
코드가 작동하는 방식은 위와 동일하다.
=====================================================
select count(name) as emp_name from emp;
select count(name) from emp; 는 name컬럼에 몇개의 데이터가 있는지 count하라는 의미이다.
위에서 3명의 데이터를 만들었으니 3이 나온다.
as emp_name은 count한 데이터를 출력한 컬럼이름을 emp_name이라고 만드는것이다.
=====================================================
select max(id) from emp;
위의 count와 비슷하게 작동하지만 max는 값중에 최고로 높은 값을 뽑는 명령어이다.
=====================================================
select max(pay) from emp;
=====================================================
select min(pay) from emp;
min은 max와 똑같이 작동하지만 출력값은 가장 작은 값을 출력한다.
=====================================================
select sum(pay) from emp;
sum는 수의 합이다.
=====================================================
select sum(pay)
from emp
where dept ='홍보';
select sum(pay)
from emp
where dept = '기획'
=====================================================
select max(pay)
from emp
where dept = '홍보'
select max(pay)
from emp
where dept = '홍보'
select ~ from 까지는 똑같게 작동하고 where은 내가 어디의 값에서 전 코드들을 작동시킬지 지정한다.
=====================================================
select min(pay) as 홍보부최저연봉
from emp
where dept = '홍보'
select min(pay) as 기획부최저연봉
from emp
where dept = '기획'
=====================================================
select avg(pay) as 홍보부평균연봉
from emp
where dept = '홍보'
select avg(pay) as 기획부평균연봉
from emp
where dept = '기획'
avg는 average의 줄인말이다. 평균을 구하는 코드이다
=====================================================
부서별, 부서명, 사원리스트, 평균연봉, 최고연봉, 최소연봉, 사원수
V1(조인 안한 버전)
V2(조인해서 부서명까지 나오는 버전)
V3(V2에서 평균연봉이 5000이상인 부서로 추리기)