SELECT empNo, name
FROM emp
WHERE name LIKE '김%';
SELECT empNo, name, tel
FROM emp
WHERE tel LIKE '%3%';
SELECT empNo, name, tel
FROM emp
WHERE tel LIKE '%3';
SELECT empNo, name, rrn
FROM emp
WHERE rrn LIKE '_0%';
SELECT name, rrn, city
FROM emp
WHERE rrn LIKE '__03%' AND city = '서울';
SELECT name, rrn, city
FROM emp
WHERE rrn LIKE '__03%' AND (city IN ('서울', '경기') );
SELECT name, tel
FROM emp
WHERE tel LIKE '%3%' OR tel LIKE '%5%';
SELECT name
From emp
WHERE name > '가' AND name < '나';
SELECT name, sal, bonus, sal+bonus pay From emp;
SELECT name, sal, bonus, sal+bonus pay
From emp
WHERE sal+bonus >= 3000000;
WITH emp_pay AS(
SELECT name, sal, bonus, sal+bonus pay From emp
)
SELECT name, sal, bonus, pay FROM emp_pay WHERE pay >=3000000;
WITH tb AS (
SELECT '김김김' name, '우리_나라' content FROM dual
UNION ALL
SELECT '나나나' name, '자바%스프링' content FROM dual
UNION ALL
SELECT '다다다' name, '우리나라' content FROM dual
UNION ALL
SELECT '라라라' name, '안드로이드%모바일' content FROM dual
)
SELECT * FROM tb;
WITH tb AS (
SELECT '김김김' name, '우리_나라' content FROM dual
UNION ALL
SELECT '나나나' name, '자바%스프링' content FROM dual
UNION ALL
SELECT '다다다' name, '우리나라' content FROM dual
UNION ALL
SELECT '라라라' name, '안드로이드%모바일' content FROM dual
)
SELECT * FROM tb WHERE content LIKE'%바#%%' ESCAPE '#';
SELECT 10+5 FROM dual;
SELECT 10+NULL FROM dual;
SELECT name, tel
FROM emp;
SELECT name, tel
FROM emp
WHERE tel=NULL;
SELECT name, tel
FROM emp
WHERE tel IS NULL;
SELECT name, tel
FROM emp
WHERE tel IS NOT NULL;
SELECT MOD(10, 6) FROM dual;
SELECT SUBSTR('korea', 2, 3) FROM dual;
SELECT name, rrn, SUBSTR(rrn, 8, 1) FROM emp;
SELECT name, rrn,
CASE SUBSTR(rrn, 8, 1)
WHEN '1' THEN '남자'
WHEN '2' THEN '여자'
END "성별"
FROM emp;
SELECT name, rrn,
CASE MOD(SUBSTR(rrn, 8, 1),2)
WHEN 0 THEN '여자'
WHEN 1 THEN '남자'
END "성별"
FROM emp;
SELECT name, sal, bonus, sal+bonus "총급여",
CASE
WHEN sal+bonus >= 2500000 THEN (sal+bonus) * 0.03
WHEN sal+bonus >= 2000000 THEN (sal+bonus) * 0.02
ELSE 0
END 세금
FROM emp;
WITH emp_pay AS (
SELECT name, sal, bonus, sal+bonus pay
FROM emp
)
SELECT name, sal, bonus, pay,
CASE
WHEN pay >= 2500000 THEN pay * 0.03
WHEN pay >= 2000000 THEN pay * 0.02
ELSE 0
END 세금
FROM emp_pay;
WITH emp_pay AS (
SELECT name, sal, bonus, sal+bonus pay,
CASE
WHEN sal+bonus >= 2500000 THEN (sal+bonus) * 0.03
WHEN sal+bonus >= 2000000 THEN (sal+bonus) * 0.02
ELSE 0
END tax
FROM emp
)
SELECT name, sal, bonus, pay, tax, pay - tax net_pay
FROM emp_pay;
SELECT name, rrn,
DECODE(SUBSTR(rrn, 8, 1), '1', '남자')
FROM emp;
SELECT name, rrn,
DECODE(SUBSTR(rrn, 8, 1), '1', '남자', '여자')
FROM emp;
SELECT name, rrn,
DECODE(SUBSTR(rrn, 8, 1), '1', '남자', '2', '여자', '3', '남자', '4', '여자')
FROM emp;
SELECT name, rrn,
DECODE(MOD(SUBSTR(rrn, 8, 1), 2), 0,'여자', '남자')
FROM emp;
SELECT name, dept FROM emp;
SELECT ALL name, dept FROM emp;
SELECT dept FROM emp;
SELECT DISTINCT dept FROM emp;
SELECT DISTINCT dept, pos FROM emp;
SELECT UNIQUE dept, pos FROM emp;
SELECT name, dept, sal FROM emp;
SELECT name, dept, sal FROM emp ORDER BY sal ASC;
SELECT name, dept, sal FROM emp ORDER BY sal DESC;
SELECT name, dept, sal FROM emp ORDER BY dept DESC, sal DESC;
SELECT name, dept, sal FROM emp ORDER BY dept DESC, sal ;
SELECT name, dept, sal, bonus, sal+ bonus pay FROM emp ORDER BY pay;
SELECT name, dept, sal, bonus, sal+ bonus pay FROM emp ORDER BY 5 DESC;
SELECT name, rrn, city, dept, sal
FROM emp
WHERE MOD(SUBSTR(rrn, 8, 1), 2) = 1
ORDER BY city, sal DESC;
SELECT name, rrn, dept, sal
FROM emp
ORDER BY dept, MOD(SUBSTR(rrn, 8, 1), 2) DESC ;
SELECT name, dept
FROM emp
ORDER BY CASE WHEN dept = '영업부' THEN 0 END;
SELECT name, dept, CASE WHEN dept = '영업부' THEN 0 END
FROM emp;
SELECT name, dept, pos
FROM emp
ORDER BY
CASE
WHEN pos = '부장' THEN 0
WHEN pos = '과장' THEN 1
WHEN pos = '대리' THEN 2
WHEN pos = '사원' THEN 3
END;
SELECT name, dept, pos
FROM emp
ORDER BY DECODE(pos, '부장', 0, '과장', 1, '대리', 2, 3);
SELECT name, rrn, sal
FROM emp
ORDER BY MOD(SUBSTR(rrn, 8, 1), 2), sal DESC ;
SELECT name, city, sal+bonus pay
FROM emp
WHERE city = '서울'
ORDER BY pay DESC;
SELECT name, rrn, dept, sal
FROM emp
WHERE SUBSTR(rrn, 8, 1) in (2, 4, 6, 8)
ORDER BY dept, sal DESC;
SELECT name, tel FROM emp;
SELECT name, tel
FROM emp
ORDER BY tel NULLS FIRST;
SELECT name, tel
FROM emp
ORDER BY tel NULLS LAST;
SELECT name, dept
FROM emp
ORDER BY CASE WHEN dept = '영업부' THEN 0 END DESC;
SELECT name, dept
FROM emp
ORDER BY CASE WHEN dept = '영업부' THEN 0 END NULLS FIRST;
SELECT name, dept
FROM emp
ORDER BY DECODE(dept, '영업부', 1, 2) DESC;
SELECT DBMS_RANDOM.VALUE, name FROM emp;
SELECT * FROM emp
ORDER BY DBMS_RANDOM.VALUE;
SELECT ROWNUM, tb.* FROM (
SELECT * FROM emp
ORDER BY DBMS_RANDOM.VALUE
) tb WHERE ROWNUM <= 5;
SELECT name, city, dept, sal FROM emp WHERE dept = '개발부'
UNION
SELECT name, city, dept, sal FROM emp WHERE city = '인천';
SELECT name, city, dept, sal FROM emp WHERE dept = '개발부'
UNION
SELECT name, dept, city, sal FROM emp WHERE city = '인천';
SELECT name, city, dept, sal FROM emp WHERE dept = '개발부'
UNION ALL
SELECT name, city, dept, sal FROM emp WHERE city = '인천';
SELECT name, city, dept, sal FROM emp WHERE dept = '개발부'
MINUS
SELECT name, city, dept, sal FROM emp WHERE city = '인천';
SELECT name, city, dept, sal FROM emp WHERE dept = '개발부'
INTERSECT
SELECT name, city, dept, sal FROM emp WHERE city = '인천';
SELECT name, sal FROM emp;
SELECT ROWID, name, sal FROM emp;
SELECT ROWNUM, name, sal FROM emp;
SELECT ROWNUM, name, sal FROM emp WHERE ROWNUM <= 10;
SELECT ROWNUM, name, sal FROM emp WHERE ROWNUM > 1;
SELECT ROWNUM, name, sal FROM emp WHERE ROWNUM = 10;
SELECT ROWNUM, name, sal FROM emp WHERE ROWNUM = 1;
SELECT name, sal
FROM emp
ORDER BY sal;
SELECT name, sal
FROM emp
WHERE ROWNUM <11
ORDER BY sal;
SELECT * FROM(
SELECT name, sal FROM emp ORDER BY sal
) WHERE ROWNUM < 11;
SELECT ROWNUM, name, sal
FROM emp
ORDER BY sal;
(SELECT * FROM (
SELECT name, dept, pos, sal
FROM emp
ORDER BY sal DESC)
WHERE ROWNUM < 11 )
MINUS
(SELECT * FROM (
SELECT name, dept, pos, sal
FROM emp
ORDER BY sal DESC)
WHERE ROWNUM < 6 )
SELECT * FROM (
SELECT ROWNUM rnum, tb.* FROM (
SELECT name, dept, pos, sal
FROM emp
ORDER BY sal DESC
) tb WHERE ROWNUM <= 10
) WHERE rnum >= 6;
SELECT * FROM emp;
SELECT emp.* FROM emp;
SELECT ROWNUM, * FROM emp;
SELECT ROWNUM, emp.* FROM emp;
SELECT ROWNUM, e.* FROM emp e;
SELECT ABS(20), ABS(-20) FROM dual;
SELECT SIGN(20), SIGN(-20), SIGN(0) FROM dual;
SELECT MOD(13, 5) FROM dual;
SELECT 13 - 5 * FLOOR(13/5) FROM dual;
SELECT REMAINDER(13, 5) FROM dual;
SELECT 13 - 5 * ROUND(13/5) FROM dual;
SELECT CEIL(20.5), CEIL(-20.5) FROM dual;
SELECT FLOOR(20.5), FLOOR(-20.5) FROM dual;
SELECT ROUND(15.693, 1)FROM dual;
SELECT ROUND(15.6933, 2)FROM dual;
SELECT ROUND(15.693)FROM dual;
SELECT ROUND(15.693, 0)FROM dual;
SELECT ROUND(15.693, -1)FROM dual;
SELECT TRUNC(15.693, 1)FROM dual;
SELECT TRUNC(15.6933, 2)FROM dual;
SELECT TRUNC(15.693)FROM dual;
SELECT TRUNC(15.693, 0)FROM dual;
SELECT TRUNC(15.693, -1)FROM dual;
SELECT name, sal,
TRUNC ( sal / 50000) "5만원권",
TRUNC( MOD(sal , 50000) / 10000) "1만원권",
MOD ( sal , 10000) "나머지금액"
FROM emp;
SELECT SIN(30 / 180 * 3.141592) FROM dual;
SELECT LOWER('KOREA seoul 2021') FROM dual;
SELECT * FROM col WHERE tname = 'EMP';
SELECT * FROM col WHERE LOWER(tname) = LOWER('Emp');
SELECT UPPER('KOREA seoul 2021') FROM dual;
SELECT INITCAP('KOREA seoul 2021') FROM dual;
SELECT CHR(65) || CHR(66) || CHR(67) FROM dual;
SELECT ASCII('ABC') FROM dual;
SELECT ASCIISTR('korea 123'), ASCIISTR('대한') FROM dual;
SELECT SUBSTR('seoul korea', 7, 3) FROM dual;
SELECT SUBSTR('seoul korea', -5, 3) FROM dual;
SELECT SUBSTR('seoul korea', 7) FROM dual;
SELECT name, rrn
FROM emp
WHERE SUBSTR(rrn, 1, 2) >= 78 AND SUBSTR(rrn, 1, 2) <= 82;
SELECT name, city, rrn
FROM emp
WHERE SUBSTR(rrn, 1, 1) = 8
ORDER BY rrn;
SELECT name, city, sal
FROM emp
WHERE city = '서울' AND SUBSTR(name, 1, 1) = '김';
SELECT name, city, sal
FROM emp
WHERE SUBSTR(name, 1, 1) IN ('김', '이', '최');
SELECT name, rrn, sal
FROM emp
WHERE MOD(SUBSTR(rrn, 3, 2), 2) = 1
ORDER BY sal DESC;
SELECT INSTR('korea seoul', 'e') FROM dual;
SELECT INSTR('korea seoul', 'ab') FROM dual;
SELECT INSTR('korea seoul', 'e', 7) FROM dual;
SELECT INSTR('korea seoul', 'e', 1, 2) FROM dual;
-성이 김씨인 사람
SELECT name, city, sal
FROM emp
WHERE INSTR(name, '김') = 1;
SELECT name, city, sal
FROM emp
WHERE INSTR(name, '이') > 0;
SELECT name, tel
FROM emp;
SELECT name, tel,
SUBSTR(tel, 1, INSTR(tel, '-') -1) 서비스번호
FROM emp;
SELECT name, tel, SUBSTR(tel, 1, INSTR(tel, '-') - 1) 서비스번호,
SUBSTR(tel, INSTR(tel, '-') + 1, INSTR(tel, '-', 1, 2) - INSTR(tel, '-') -1) 국번,
SUBSTR(tel, INSTR(tel, '-', 1, 2) +1) 번호
FROM emp;