노력이 좋아서

<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)