DB/SQL

· DB/SQL
JOIN - 여러 테이블을 연결하여 출력하는 문법 ON절을 사용한 JOIN - 여러 테이블의 정보를 연결하여 출력할 수 있는 문법 - JOIN절 : FROM절의 테이블과 연결 할 테이블을 작성 - ON절 : JOIN할 테이블들의 연결 규칙을 작성하는 절 ✍ 사원의 사번, 성, 급여, 소속부서, 소속부서명을 출력
· DB/SQL
✍ ORDER BY절에 정렬기준이 여러개가 온 경우 왼쪽에서부터 정렬을 실행하며 1차 이후의 중복값들에 대해서 적용되는 정렬기준이다. SELECT last_name, department_id, salary FROM employees ORDER BY department_id, salary DESC; 💻 ✍다중 컬럼으로 정렬 시에도 컬럼의 순서로 정렬할 컬럼을 지정할 수 있다. SELECT last_name, department_id, salary FROM employees ORDER BY 2, 3 DESC; 💻 ✍ SELECT last_name, salary, commission_pct FROM employees WHERE commission_pct IS NULL ORDER BY salary DESC; 💻
· DB/SQL
- 사용자가 직접 데이터의 정렬 기준과 방식을 지정해서 결과를 만들 수 있는 옵션절이다. - 정렬방식은 오름차순(ASC), 내림차순(DESC)를 사용할 수 있다. - 정렬기준으 컬럼, 표현식, column alias, 함수를 사용할 수 있다. - 정렬방식의 기본값은 오름차순이다. ORDER BY 정렬기준 정렬방식 정렬방식 숫자(1 큰 값) 1 --> 9 'A' --> 'Z' 이전 --> 이후 내림차순 (큰 값 -> 작은 값) 9 --> 1 'Z' --> 'A' 이후 --> 이전 ✍ 사원의 hire_date를 기준으로 내림차순의 순서로 정렬된 결과를 출력 select last_name, job_id, department..
· DB/SQL
✍ employees 테이블로부터 2000년도에 입사한 모든 사원의 last_name과 hire_date를 출력하시오 select last_name, hire_date from employees where hire_date like '2000%'; SELECT last_name, hire_date FROM employees WHERE hire_date BETWEEN '2000-01-01' AND '2001-01-01' AND hire_date != '2001-01-01'; SELECT last_name, hire_date FROM employees WHERE hire_date >= '2000-01-01' AND hire_date < '2001-01-01'; 💻 ✍ 최대값을 '2000-12-31'로 하는 ..
· DB/SQL
다른 조건식과 조합하여 사용하며, 기존 조건식을 만족하는 행을 출력하지 않고 만족하지 않는 행을 결과로 출력하는 연산. 즉, 참 --> 거짓, 거짓 --> 참 ✍ job_id의 값이 'AC_ACCOUNT', 'AD_VP'가 아닌 행을 출력 select employee_id, last_name, job_id, salary, commission_pct from employees where job_id not in('AC_ACCOUNT', 'AD_VP'); 💻 ✍ 사원의 급여가 10000미만 15000초과인 행을 출력 select employee_id, last_name, job_id, salary, commission_pct from employees where salary not between 10000 ..
· DB/SQL
AND / OR 연산자는 WHERE절에 추가적인 조건식을 더할 때 사용하는 문법이다. A조건 AND B조건 --> A조건과 B조건을 동시에 만족하는 값을 가진 행을 출력한다. ✍ salary가 10000 이상이고 job_id에 MAN이 포함된 행을 출력 select employee_id, last_name, job_id, salary from employees where salary >= 10000 and job_id like '%MAN%'; 💻 A조건 OR B조건 --> A조건과 B조건 둘 중 하나라도 만족하는 경우 출력 ✍ salary가 10000이상 이거나 job_id에 MAN이 포함된 행을 출력 (둘 중 하나만 만족해도 되는 경우) select employee_id, l..
· DB/SQL
- 데이터 값이 NULL인 행을 출력하는 연산자 ✍ 100번 사원은 manager_id 컬럼의 값이 NULL이다 select employee_id, last_name, manager_id from employees; 💻 ✍ NULL값은 논리적인 데이터로 직접적인 값을 비교하는 비교연산자로는 비교가 불가능하여 결과값이 출력되지 않는다 SELECT employee_id, last_name, manager_id FROM employees WHERE manager_id = NULL; ✍ NULL값을 비교하기 위해서는 IS NULL 연산을 사용해야 한다. select employee_id, last_name, manager_id from employees where manager_id is null; 💻
· DB/SQL
- 데이터 값이 NULL인 행을 출력하는 연산자 ✍ 100번 사원은 manager_id 컬럼의 값이 NULL이다 select employee_id, last_name, manager_id from employees; 💻 ✍ NULL값은 논리적인 데이터로 직접적인 값을 비교하는 비교연산자로는 비교가 불가능하여 결과값이 출력되지 않는다 SELECT employee_id, last_name, manager_id FROM employees WHERE manager_id = NULL; ✍ NULL값을 비교하기 위해서는 IS NULL 연산을 사용해야 한다. select employee_id, last_name, manager_id from employees where manager_id is null; 💻
· DB/SQL
- 작성한 패턴문자와 일치한 패턴을 가지는 행을 출력하는 비교연산자 - 패턴 비교연산이라고도 한다 - 패턴문자의 시작을 '%'로 하는 경우 인덱스를 사용할 수 없어 실행속도가 느려진다 - 패턴문자 _ : 임의의 한 문자 % : 임의의 0-n자리의 문자 ✍패턴문자 '_o%'는 문자열의 첫 자리는 임의 문자 한 글자, 두번째는 알파벳 소문자 'o', 그 뒤에는 임의의 여러 문자를 허용하는 형태의 패턴을 만족하는 행을 출력한다. select last_name from employees where last_name like '_o%'; 💻 ✍ last_name이 'J'로 시작하는 값을 가진 행을 출력 select last_name from employees where last_name like 'J%'; 💻 ✍..
· DB/SQL
- '=' 의 비교연산자와 동일한 연산을 하지만 조건값이 하나가 아닌 여럿을 받을 수 있는 연산자이다. - WHERE 조건컬럼 | 표현식 IN (조건값 목록, ... ) - 조건값의 수는 제한이 없다 ✍ 매니저(상사)의 사원번호가 100, 101, 201 중 일치하는 값을 가진 행을 출력 select employee_id, last_name, salary, manager_id from employees where manager_id in (100, 101, 201); 💻 ✍ 비교연산자와 마찬가지로 조건 컬럼과 조건값은 데이터타입을 통일시켜줘야한다 select last_name from employees where last_name in ('Greenberg', 'Fay', 'Russell', 'Vollm..
suniverse
'DB/SQL' 카테고리의 글 목록