SELECT ename_ko AS '이름',
if(employed=1, '재직 중', '퇴사') AS '직군'
FROM emp
;
1% → '영업'
4% → '생산'
8% → '인사'
그 외 → '기타'
SELECT ename_ko AS '이름',
CASE WHEN deptno LIKE '1%' THEN '영업'
WHEN deptno LIKE '4%' THEN '생산'
WHEN deptno LIKE '8%' THEN '인사'
ELSE '기타'
END AS '직군'
FROM emp
;
SELECT row_number() OVER (ORDER BY sal desc) AS '순번',
ename_ko AS '이름',
sal AS '급여'
FROM emp
;
SELECT joblv AS '직급',
ename_ko AS '이름',
sal AS '급여',
rank() OVER (PARTITION BY joblv ORDER BY sal desc) AS '순위'
FROM emp
ORDER BY 3 desc
;
SELECT deptno AS '부서번호',
ename_ko AS '이름',
hiredate AS '입사일',
sal AS '급여',
round(avg(sal) over(PARTITION BY deptno ORDER BY hiredate), 2) AS '부서누적평균급여'
FROM emp
ORDER BY 1, 3
;
SELECT row_number() OVER (ORDER BY hiredate) AS '순번',
ename_ko AS '이름',
sal AS '급여',
LAG(sal) OVER (ORDER BY sal desc) AS '이전급여',
LEAD(sal) OVER (ORDER BY sal desc) AS '다음급여'
FROM emp
;
SELECT e.ename_ko AS '이름',
e.deptno AS '부서번호',
d.dname AS '부서명'
FROM emp AS e
JOIN dept AS d
ON e.deptno = d.deptno
WHERE e.hiredate >= '2022-01-01'
AND e.hiredate < '2022-04-01'
;
SELECT a.joblv AS '직급',
b.dname AS '부서명',
b.location AS '지역'
FROM emp AS a
JOIN dept AS b
ON a.deptno = b.deptno
WHERE a.sal = 6000
;
SELECT b.location AS '지역',
round(avg(a.sal)) AS '평균급여'
FROM emp AS a
JOIN dept AS b
ON a.deptno = b.deptno
GROUP BY 1
;
SELECT e1.empno AS '사원번호',
e1.ename_ko AS '이름',
e1.mgr AS '매니저번호',
e2.ename_ko AS '매니저명'
FROM emp AS e1
JOIN emp AS e2
ON e1.mgr = e2.empno
;
1)
SELECT
a.empno AS '사원번호',
a.ename_ko AS '이름',
a.sal + IFNULL(a.comm, 0) AS '총급여',
a.deptno AS '부서번호',
b.dname AS '부서명',
c.grade AS '등급'
FROM emp a
LEFT JOIN salgrade c
ON a.sal + a.comm >= c.losal
AND a.sal + a.comm <= c.hisal
LEFT JOIN dept b
ON b.deptno = a.deptno
ORDER BY 3 desc
;
2)
SELECT a.empno AS '사원번호',
a.ename_ko AS '이름',
a.sal+a.comm AS '총급여',
a.deptno AS '부서번호',
b.dname AS '부서명',
c.grade AS '등급'
FROM emp a
LEFT JOIN salgrade c ON a.sal+comm BETWEEN c.losal AND c.hisal
LEFT JOIN dept b ON b.deptno = a.deptno
;
def greet(name, age):
print(f"\"{name}님의 나이는 {age}살입니다.\"")
greet("홍길동", "20")
def my_stats(*args):
return sum(args), sum(args) / len(args)
print(f"총합: {my_stats(10, 20, 30)[0]}, 평균: {my_stats(10, 20, 30)[1]}")
x = 5
def func():
x = 10
print("함수 내부:", x)
func()
print("함수 외부:", x)
예상 출력 결과 : 함수 내부 -> 10, 함수 외부 -> 5
출력 결과 :
import random
from datetime import datetime
nums = random.sample(range(1, 46), 6)
date = datetime.now().strftime('%Y-%m-%d')
print(f"추첨 번호: {nums}")
print(f"오늘 날짜: {date}")