노력이 좋아서
<step46>'mysql_구문'
zoaseo
2022. 5. 24. 14:40
1)
create table members(
no int primary key auto_increment,
name varchar(20) not null,
tel varchar(20),
addr varchar(50),
license enum('y','n')
);
insert into members(name, tel, addr, license)
values('김승용','051-123-4567','부산광역시 남구 대연동','y');
insert into members(name, tel, addr, license)
values('김양호','051-890-1234','부산광역시 사상구 학장동','n');
insert into members(name, tel, addr, license)
values('임정제','02-1234-1234','부산광역시 강남구 삼성동','n');
insert into members(name, tel, addr, license)
values('김재호','052-098-7654','울산광역시 남구 야음동','n');
insert into members(name, tel, addr, license)
values('전용진','043-456-4567','충청남도 논산구 논산읍','y');
insert into members(name, tel, addr, license)
values('황인용','051-234-1234','부산광역시 연제구 연산동','n');
insert into members(name, tel, addr, license)
values('박지호','031-345-6789','인천광역시 남구 주안동','y');
update members
set name = "김그린", tel = "052-123-4567"
where no = 2;
//충청남도 사는 사람 레코드 삭제하기
delete from members
where addr like "충청%";
//members 테이블에서 부산에 거주하는 사람의 license컬럼을 y로 변경하시오
update members
set license = "y"
where addr like "부산%";
//이름이 김승용이거나 임정제이거나 전용진인 레코드를 검색
select * from members
where name in("김승용", "임정제", "전용진");
2)
* 급여의 최대값을 검색
select max(sal) as '최대급여' from employee;
* 현재 근무자 수를 검색
select count(*) as '근무자수' from employee
where firedate is null;
* 보너스를 수령한 사람 수를 검색
select count(*) as '보너스 수령한 사람 수' from employee
where bonus is not null;
* 직급이 과장인 사람의 평균 월급여를 검색
select avg(sal) as '평균월급여' from employee
where job = '과장';
* 사원명으로 내림차순하도록하고 3개만 출력
select * from employee
order by pname desc limit 3;
* 2012년 입사자를 급여기준으로 내림차순하고 4개만 출력
select * from employee
where hiredate like '2012%'
order by sal desc limit 4;
* 부서번호 30번인 사람의 이름으로 오름차순 정렬하고 상위 2개 행만 검색
select * from employee
where deptno = 30
order by pname asc limit 2;
* 입사일이 2012년인 입사자 수를 검색
select count(*) as '입사자 수' from employee
where hiredate like '2012%';
* 부서번호별로 부서번호와 급여의 평균을 출력
select deptno, avg(sal) as '부서별 급여 평균' from employee
group by deptno;
* 직급의 갯수를 출력하시오
select count(distinct job) as '직급 수' from employee;
3)
* 2부서에 있는 사원의 급여평균을 검색
* 부서의 갯수를 출력(중복되는 값 제외)
* 부서별로 부서번호와 급여의 평균을 출력
* 보너스를 받지 않는 사람의 수를 출력
* 부서별로 부서번호와 월급의 합계
부서번호 1부서 또는 2부서만 출력
4)
5)
6)
7)