1. SELECT: 데이터를 조회하는 데 사용됩니다.
2. FROM: 데이터를 조회할 테이블을 지정합니다.
3. WHERE: 조건을 지정하여 데이터를 필터링합니다.
4. GROUP BY: 그룹화를 위해 열을 지정합니다.
5. HAVING: 그룹에 조건을 적용합니다.
6. ORDER BY: 결과를 정렬합니다.
7. INSERT INTO: 데이_텍스트_터를 삽입합니다.
8. VALUES: INSERT 문에서 값을 지정합니다.
9. UPDATE: 데이터를 업데이트합니다.
10. SET: UPDATE 문에서 업데이트할 값을 지정합니다.
11. DELETE FROM: 데이터를 삭제합니다.
12. JOIN: 두 개 이상의 테이블을 결합합니다.
13. INNER JOIN: 교집합을 반환합니다.
14. LEFT JOIN: 왼쪽 테이블을 기준으로 오른쪽 테이블을 결합합니다.
15. RIGHT JOIN: 오른쪽 테이블을 기준으로 왼쪽 테이블을 결합합니다.
16. FULL JOIN: 양쪽 테이블의 모든 행을 결합합니다.
17. UNION: 두 개 이상의 SELECT 문 결과를 결합합니다.
18. UNION ALL: 중복을 제거하지 않고 두 개 이상의 SELECT 문 결과를 결합합니다.
19. SUBQUERY: 다른 쿼리 안에 중첩된 쿼리를 실행합니다.
20. EXISTS: 서브쿼리 결과가 존재하는지 확인합니다.
21. NOT EXISTS: 서브쿼리 결과가 존재하지 않는지 확인합니다.
22. ANY: 서브쿼리의 어떤 값과도 일치하는지 확인합니다.
23. ALL: 서브쿼리의 모든 값과 일치하는지 확인합니다.
24. LIKE: 문자열 패턴을 기반으로 필터링합니다.
25. IN: 여러 값 중 하나와 일치하는지 확인합니다.
26. BETWEEN: 범위 내의 값인지 확인합니다.
27. ORDER BY ... DESC: 내림차순으로 결과를 정렬합니다.
28. ASC: 오름차순 정렬을 명시적으로 지정합니다.
29. COUNT: 행 수를 계산합니다.
30. MAX: 최대 값을 반환합니다.
31. MIN: 최소 값을 반환합니다.
32. AVG: 평균 값을 반환합니다.
33. SUM: 합계를 계산합니다.
34. LENGTH: 문자열의 길이를 반환합니다.
35. UPPER: 문자열을 대문자로 변환합니다.
36. LOWER: 문자열을 소문자로 변환합니다.
37. INITCAP: 문자열의 첫 글자를 대문자로 변환합니다.
38. TRIM: 문자열의 앞뒤 공백을 제거합니다.
39. REPLACE: 문자열을 치환합니다.
40. CONCAT: 문자열을 연결합니다.
41. TO_CHAR: 날짜를 문자열로 변환합니다.
42. TO_DATE: 문자열을 날짜로 변환합니다.
43. SYSDATE: 현재 날짜와 시간을 반환합니다.
44. NVL: NULL 값을 다른 값으로 대체합니다.
45. COALESCE: NULL이 아닌 첫 번째 값을 반환합니다.
46. CASE: 조건에 따라 결과를 반환합니다.
47. DECODE: 조건에 따라 결과를 반환합니다.
48. ROWNUM: 결과 집합에서 행 번호를 반환합니다.
49. ROWID: 행의 고유 주소를 반환합니다.
50. GRANT: 권한을 부여합니다.
51. REVOKE: 권한을 취소합니다.
52. CREATE TABLE: 테이블을 생성합니다.
53. ALTER TABLE: 테이블을 수정합니다.
54. DROP TABLE: 테이블을 삭제합니다.
55. CREATE INDEX: 인덱스를 생성합니다.
56. DROP INDEX: 인덱스를 삭제합니다.
57. CREATE VIEW: 뷰를 생성합니다.
58. DROP VIEW: 뷰를 삭제합니다.
59. COMMIT: 트랜잭션을 커밋합니다.
60. ROLLBACK: 트랜잭션을 롤백합니다.
61. SAVEPOINT: 트랜잭션 내에서 저장점을 설정합니다.
62. ROLLBACK TO: 특정 저장점까지 롤백합니다.
63. SET TRANSACTION: 트랜잭션의 특성을 설정합니다.
64. SYNONYM: 다른 객체에 대한 별칭을 생성합니다.
65. CREATE SEQUENCE: 일련번호 생성기를 생성합니다.
66. DROP SEQUENCE: 일련번호 생성기를 삭제합니다.
67. ALTER SEQUENCE: 일련번호 생성기를 수정합니다.
68. NEXTVAL: 다음 일련번호 값을 반환합니다.
69. CURRVAL: 현재 일련번호 값을 반환합니다.
70. TRUNCATE TABLE: 테이블을 비웁니다.
SELECT: 데이터를 조회하는 데 사용됩니다.
SELECT * FROM employees;
FROM: 데이터를 조회할 테이블을 지정합니다.
SELECT * FROM employees WHERE department_id = 10;
WHERE: 조건을 지정하여 데이터를 필터링합니다.
SELECT * FROM employees WHERE salary > 50000;
GROUP BY: 그룹화를 위해 열을 지정합니다.
SELECT department_id, AVG(salary) FROM employees GROUP BY department_id;
HAVING: 그룹에 조건을 적용합니다.
SELECT department_id, AVG(salary) FROM employees GROUP BY department_id HAVING AVG(salary) > 60000;
ORDER BY: 결과를 정렬합니다.
SELECT * FROM employees ORDER BY hire_date DESC;
INSERT INTO: 데이터를 삽입합니다.
INSERT INTO employees (employee_id, first_name, last_name) VALUES (101, 'John', 'Doe');
UPDATE: 데이터를 업데이트합니다.
UPDATE employees SET salary = salary * 1.1 WHERE department_id = 20;
DELETE FROM: 데이터를 삭제합니다.
DELETE FROM employees WHERE employee_id = 101;
JOIN: 두 개 이상의 테이블을 결합합니다.
SELECT e.employee_id, e.first_name, d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.department_id;
UNION: 두 개 이상의 SELECT 문 결과를 결합합니다.
SELECT employee_id, first_name FROM employees
UNION
SELECT employee_id, first_name FROM contractors;
UNION ALL: 중복을 제거하지 않고 두 개 이상의 SELECT 문 결과를 결합합니다.
SELECT employee_id, first_name FROM employees
UNION ALL
SELECT employee_id, first_name FROM contractors;
SUBQUERY: 다른 쿼리 안에 중첩된 쿼리를 실행합니다.
SELECT employee_id, first_name
FROM employees
WHERE department_id IN (SELECT department_id FROM departments WHERE department_name = 'IT');
EXISTS: 서브쿼리 결과가 존재하는지 확인합니다.
SELECT * FROM employees WHERE EXISTS (SELECT * FROM departments WHERE employees.department_id = departments.department_id);
NOT EXISTS: 서브쿼리 결과가 존재하지 않는지 확인합니다.
SELECT * FROM employees WHERE NOT EXISTS (SELECT * FROM departments WHERE employees.department_id = departments.department_id);
ANY: 서브쿼리의 어떤 값과도 일치하는지 확인합니다.
SELECT * FROM employees WHERE salary > ANY (SELECT salary FROM employees WHERE department_id = 20);
ALL: 서브쿼리의 모든 값과 일치하는지 확인합니다.
SELECT * FROM employees WHERE salary > ALL (SELECT salary FROM employees WHERE department_id = 20);
LIKE: 문자열 패턴을 기반으로 필터링합니다.
SELECT * FROM employees WHERE last_name LIKE 'S%';
IN: 여러 값 중 하나와 일치하는지 확인합니다.
SELECT * FROM employees WHERE department_id IN (10, 20, 30);
BETWEEN: 범위 내의 값인지 확인합니다.
SELECT * FROM employees WHERE hire_date BETWEEN '01-JAN-2022' AND '31-DEC-2022';
ORDER BY ... DESC: 내림차순으로 결과를 정렬합니다.
SELECT * FROM employees ORDER BY salary DESC;
ASC: 오름차순 정렬을 명시적으로 지정합니다.
SELECT * FROM employees ORDER BY salary ASC;
COUNT: 행 수를 계산합니다.
SELECT COUNT(*) FROM employees;
MAX: 최대 값을 반환합니다.
SELECT MAX(salary) FROM employees;
MIN: 최소 값을 반환합니다.
SELECT MIN(salary) FROM employees;
AVG: 평균 값을 반환합니다.
SELECT AVG(salary) FROM employees;
SUM: 합계를 계산합니다.
SELECT SUM(salary) FROM employees;
LENGTH: 문자열의 길이를 반환합니다.
SELECT LENGTH(last_name) FROM employees;
UPPER: 문자열을 대문자로 변환합니다.
SELECT UPPER(last_name) FROM employees;
LOWER: 문자열을 소문자로 변환합니다.
SELECT LOWER(last_name) FROM employees;
INITCAP: 문자열의 첫 글자를 대문자로 변환합니다.
SELECT INITCAP(last_name) FROM employees;
TRIM: 문자열의 앞뒤 공백을 제거합니다.
SELECT TRIM(' Hello ') FROM dual;
REPLACE: 문자열을 치환합니다.
SELECT REPLACE('Hello, World!', 'World', 'Everyone') FROM dual;
CONCAT: 문자열을 연결합니다.
SELECT CONCAT(first_name, ' ', last_name) FROM employees;
TO_CHAR: 날짜를 문자열로 변환합니다.
SELECT TO_CHAR(hire_date, 'DD-MON-YYYY') FROM employees;
TO_DATE: 문자열을 날짜로 변환합니다.
SELECT TO_DATE('2022-01-01', 'YYYY-MM-DD') FROM dual;
SYSDATE: 현재 날짜와 시간을 반환합니다.
SELECT SYSDATE FROM dual;
NVL: NULL 값을 다른 값으로 대체합니다.
SELECT NVL(commission_pct, 0) FROM employees;
COALESCE: NULL이 아닌 첫 번째 값을 반환합니다.
SELECT COALESCE(commission_pct, 0) FROM employees;
CASE: 조건에 따라 결과를 반환합니다.
SELECT employee_id, CASE WHEN salary > 50000 THEN 'High' ELSE 'Low' END AS salary_category