SQL 2. λ°μ΄ν° μ ν λ° μ λ ¬ (WHERE/ORDER BY)
SELECT * | [DISTINCT] column | expreession [alias], ...
FROM table
[WHERE condition(s)];
π€ λ°μ΄ν° μ νμ WHERE μ μ¬μ©
- WHERE μ μ μ¬μ©νμ¬ λ°νλλ νμ μ ν. (FROMμ λ€μ)
- condition(s) : μ΄ μ΄λ¦, ννμ, μμ λ° λΉκ΅ μ°μ°μλ‘ κ΅¬μ±λ©λλ€. 쑰건μ νλμ΄μμ ννμκ³Ό λ
Όλ¦¬(λΆμΈ) μ°μ°μμ μ‘°ν©μ μ§μ νκ³ TRUE, FALSE, UNKNOWN κ°μ λ°νν©λλ€.
1. λ¬Έμμ΄ λ° λ μ§
: ' 'λ‘ λλ¬μ.
λ¬Έμ κ°μ λ/μλ¬Έμ ꡬλΆ
λ μ§ κ°μ νμ κ΅¬λΆ (DD-MON-RR)
SELECT last_name, job_id, department_id
FROM employees
WHERE last_name = 'Whalen'; // last_nameμ΄ 'Whalen'μΈ μ¬λμΌλ‘ μ ν
SELECT last_name
FROM employees
WHERE hire_date = '17-FEB-96';
//μλ¬ >> ORA-01858: a non-numeric character was found where a numeric was expected
//κ·Έλ¬λ―λ‘ '96-02-17'λ‘ λ°κΏμΌν¨.
- λ μ§ νμμ μ‘°ννλ λ°©λ²
>> sys_date ν¨μλ‘ μ‘°ν κ°λ₯νλ€. (dualμ΄λΌλ λλ―Έλ°μ΄ν° νμ©)
SELECT sysdate
from dual;
//κ²°κ³Ό >>SYSDATE 23/07/18(λ
/μ/μΌ) >> μ΄κ²μ΄ λ μ§ νμ
2. λΉκ΅ μ°μ°μ
- IN μ°μ°μ : κ° λ¦¬μ€νΈ μ€ μΌμΉνλ κ° κ²μ
SELECT employee_id, last_name, salary, manager_id
FROM employees
WHERE manager_id IN (100,101,201);
//λ§€λμ μμ΄λκ° 100μ΄κ±°λ 101μ΄κ±°λ 201μΈ κ²
- LIKE μ°μ°μ >> ν¨ν΄ μΌμΉ νμΈ : μ ν¨ν κ²μ λ¬Έμμ΄ κ°μ μμΌλμΉ΄λ κ²μμ μν.
- %λ 0κ° μ΄μμ λ¬Έμ
- _λ νλμ λ¬Έμ
SELECT first_name
FROM employees
WHERE first_name LIKE 'S%' ; // μ±μ 첫 κΈμκ° SμΈ μ¬λ
SELECT last_name
FROM employees
WHERE last_name LIKE '\_o%' ; // μ±μ μ€κ° κΈμμ oκ° μλ μ¬λ
+ ESCAPE μλ³μ : μ€μ %, _κΈ°νΈλ₯Ό κ²μν μ μμ.
SELECT employee_id, last_name, job_id
FROM employees
WHERE job_id LIKE '%SA\_%' ESCAPE '\';
- IS NULL μ°μ°μ : nullν μ€νΈ + AND, OR
SELECT last_name, manager_id
FROM employees
WHERE manager_id IS NULL
AND job_id LIKE '%MAN%';
SELECT last_name, manager_id
FROM employees
WHERE salary >= 10000
OR job_id LIKE '%MAN%';
- NOT μ°μ°μ μ¬μ©
SELECT last_name, job_id
FROM employees
WHERE job_id NOT IN ('IT_PROG', 'ST_CLERK'); //job_idκ° 'IT_PROG' νΉμ 'ST_CLERK'κ° μλ κ²
3. μ°μ μμ κ·μΉ
* κ΄νΈλ₯Ό μ¬μ©νμ¬ μ°μ μμ κ·μΉμ μ¬μ μ
4.ORDER BY μ μ¬μ©
: ORDER BYμ μ SELECTλ¬Έμ 맨 λ§μ§λ§μ μ΄
ASC : μ€λ¦μ°¨μ, κΈ°λ³Έκ°
DESC: λ΄λ¦Όμ°¨μ
SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY hire_date; //κΈ°λ³Έ μ€λ¦μ°¨μ
SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY hire_date DESC; //λ΄λ¦Όμ°¨μ
SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY 3; //μΈλ²μ§Έ (department_id)
SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY department_id, salary DESC; //λΆμμμ΄λ μ€λ¦μ°¨μ, μκΈ λ΄λ¦Όμ°¨μ
5. μΉν λ³μ μ¬μ©
: & λ° && μΉνμ μ¬μ©νμ¬ κ°μ μμλ‘ μ μ₯. λ³μ μμ &λ₯Ό λΆμ΄λ©΄ μ μ κ° κ°μ μ
λ ₯νλλ‘ ν μ μμ.
λ μ§ κ° λ° λ¬Έμ κ°μ λν΄ ' ' μ¬μ©
SELECT employee_id, last_name, salary, department_id
FROM employees
ORDER BY employee_id = &employee_num; //μ
λ ₯κ° λ°κΈ°
SELECT employee_id, last_name, salary, department_id
FROM employees
ORDER BY job_id = '&job_title';
- μ΄ μ΄λ¦, ννμ λ° ν μ€νΈ μ§μ
SELECT employee_id, last_name, &column_name
FROM employees
WHERE &condition
ORDER BY &order_column;
- μ μ κ° λ§€λ² κ°μ μ
λ ₯ν νμ μμ΄ λ³μ κ°μ μ¬μ¬μ©νλ €λ κ²½μ° && μ¬μ©.
SELECT employee_id, last_name, &&column_name
FROM employees
ORDER BY &column_name;
- DEFINE λͺ
λ Ήμ΄ μ¬μ©
DEFINEλͺ
λ Ή : λ³μλ₯Ό μμ±νκ³ κ°μ ν λΉ.
UNDEFINEλͺ
λ Ή : λ³μ μ κ±°.
DEFINE employee_num = 200
SELECT employee_id, last_name, salary, department_id
FROM employees
WHERE employee_id = &employee_num;
UNDEFINE employee_num
- VERIFY λͺ
λ Ήμ΄ μ¬μ©
: SET VERIFY ON - μΉν λ³μλ₯Ό κ°μΌλ‘ λ°κΎΈκΈ° μ νμ μΉν λ³μμ νμλ₯Ό ν κΈ
SET VERIFY ON
SELECT employee_id, last_name, salary
FROM employees
WHERE employee_id = &employee_num;
'Programming > SQL, Oracle' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
SQL 4. κ·Έλ£Ή ν¨μλ₯Ό μ¬μ©ν μ§κ³ λ°μ΄ν° λ³΄κ³ (0) | 2023.10.12 |
---|---|
SQL 3. λ¨μΌ ν ν¨μλ₯Ό μ¬μ©νμ¬ κ²°κ³Όλ¬Ό λ³κ²½ (0) | 2023.10.12 |
SQL 1. SELECTλ¬Έμ μ¬μ©νλ λ°μ΄ν° κ²μ (0) | 2023.08.22 |
μ€λΌν΄ λ°μ΄ν°λ² μ΄μ€ (0) | 2023.08.22 |
SQL*plus (2) | 2023.08.21 |