개발자로 가는길 :: Oracle DB (order by , where)

Oracle DB (order by , where)

728x90
반응형
--employee  테이블 전체 내용 조회
select *

from employees;

--employee 테이블 first_name, last_name, job_id만 조회
select first_name , last_name,job_id
from employees;

DBMS 를 뭘쓰던 표준 SQL 을 알면 접근이 가능하다..

 

ORDER BY

 
 -- 순서  :order by
 --          내림차순 => desc , 오름차순 => asc
 -- ename , sal 열 추출하고 , sal 내림차순으로 정렬
 select ename , sal
 
 from emp order by sal desc;
  
  -- ename , sal 열 추출하고 , sal 오름차순으로 정렬
  select ename, sal
  
  from emp order by sal;
  
  -- 전체 내용 출력하고 , 결과가 부서번호의 오름차순 정렬 + 급여 내림차순으로 정렬

select 
    *
from 
    emp 
order by 
    deptno asc,
    sal desc;
    
-- order by 는 리소스를 많이 잡아먹어 현장에서 권장하진 않는다고 한다.
-- 실습 emp테이블의 모든 열 출력
-- empno => employee_no
-- ename => employee_name 
 -- mgr => manager
 -- comm => commission
 -- deptno => department_no
 -- 부서 번호를 기준으로 내림차순으로 정렬하되 부서번호가 같다면
 --사원 이름을 기준으로 오름차순 정렬
 
 select
    empno as empoyee_no, 
    ename as employee_name , 
    mgr as manager  , 
    comm as commision,
    deptno as department_no
    
from 
    emp
order by
    deptno desc , 
    ename

 

where

--where :   특정 조건을 기준으로 원하는 행을 조회

-- 부서번호가 30인 데이터만 조회

SELECT *
from emp
where deptno= 30;

-- 사원번호가 7782인 사원 조회

select *
from emp
where empno = 7782;


--부서번호가 30 이고 , 사원직책이 salesman 정보 조회
select *
from emp
where deptno = 30  and  job = 'SALESMAN';

-- 사원번호가 7499 , 부서번호가 30인 행

select *
from emp
where empno = 7499 and deptno = 30;
--employee 테이블 first_name, last_name, job_id만 조회
select first_name , last_name,job_id
from employees;

-- 사원번호가 176 인 사람의 last_name
select last_name
from employees
where employee_id= 176;

-- 연봉이 12000 이상 되는 직원들의 last_name , salary 죄회
select last_name , salary
from employees
where salary >= 12000;

-- 연봉이 5000 에서 12000 범위가 아닌 사람들의 last_name, salary 조회
select last_name , salary
from employees
where salary < 5000 or salary >12000 order by salary desc;

 

728x90
반응형

댓글()