본문 바로가기
TIL

[TIL] [UML] Class, ER, Sequence Diagram (with StarUML) / [DB] SQL 문제 2

by thegreatjy 2023. 10. 25.
728x90

SQL 문제

#1. employees 테이블에서 last_name을 소문자와 대문자로 각각 출력하고, email의 첫 번째 문자는 대문자로 출력

select last_name, lower(last_name), upper(last_name), email, initcap(email)
from employees;

#2. job_id의 데이터 값의 첫째 자리부터 시작해서 두 개의 문자를 출력

select substr(job_id, 1, 2)
from employees;

#4. first_name에 대해 12자리의 문자열 자리를 만들되 first_name의 데이터 값이 12자리보다 작은면 왼쪽부터 *을 채워서 출력

select first_name, lpad(first_name, 12, '*') // left pad
from employees;

#5. job_id의 데이터 값에 대해 왼쪽 방향으로 ‘F’ 문자를 만나면 , 오른쪽 방향으로 ‘T’ 문자를 만나면

select job_id, TRIM(LEADING 'F' FROM job_id), TRIM(TRAILING 'T' FROM job_id);
from employees;
// TRIM( [ { BOTH | LEADING | TRAILING } [remove_string ] FROM ] string )

#6. salary를 30일로 나눈 후 나눈 값의 소수점 첫째 자리, 소수점 둘째 자리, 정수 첫째 자리에서 반올림한 값을 출력

select salary/30 as 일급, 
round(salary/30, 0),
round(salary/30, 1), // 소수점 첫째자리에서 반올림
round(salary/30, 2),
round(salary/30, -2) //숫자 둘째자리에서 반올림 (10의자리)
from employees;
// round는 반올림
// trun는 내림, 자름

#7. first_name, last_name, department_id, salary를 출력하되, department_id가 60인 경우에는 급여를 10% 인상한 값을 계산하여 출력하고, 나머지 경우에는 원래의 값을 출력.

department_id가 60인 경우에는 ‘10% 인상’을 출력하고, 나머지는 ‘미인상’ 출력

select first_name, last_name, department_id, salary, 
case 
    when department_id = 60 then salary*1.1 
    else salary
end
from employees;

#8. job_id가 IT_PROG라면 employee_id, first_name, last_name, salary를 출력하되, salary가 9000 이상이면 상위급여, 6000이상 8999 이하이면 중위급여, 그 외는 하위 급여라고 출력

select employee_id, first_name, last_name, salary, 
if (salary >= 9000, '상위급여', if(salary >= 6000, '중위급여', '하위급여')) as '급여수준'
from employees
ORDER BY salary desc;

#9. rank, dense_rank, row_number 함수를 각각 이용하여 employees 테이블의 salary 값이 높은 순서대로 출력

select employee_id, first_name, last_name, salary, 
rank() over(order by salary desc) rank_급여,
dense_rank() over(order by salary desc) dense_rank급여,
row_number() over(order by salary desc) row_number급여
from employees
ORDER BY salary desc;
  • group by - having

#10. salary 행수가 몇 개인지

select count(salary)
from employees;

UseCase Diagram

Class Diagram

  • 접근 제한자

      • : public
      • : private
    • : protected

  • 코드 생성

    • Tool > Java > Generate Code

class

stereo type (abstract, interface, enumeration, utility)

ER Diagram

데이터 베이스 구조를 한 눈에 알아볼 수 있도록 하는 다이어그램

  • (star uml) 속성:자료형 으로 작성한다.
  • sql문 작성
    • tool-extension manager

  • er diagram 선택 > tool > ddr > 모델 선택 > sql문 생성

Sequence Diagram

728x90