ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ SQL ] DML 요약 및 연습. 작성 시 주의 사항.
    PROGRAMMING/SQL 2022. 4. 25. 22:30

    하루입니다.

     

     


     

    1. SELECT문

     

    • 테이블에서 데이터를 조회한다.

     

    • employees 테이블의 모든 정보를 보고 싶어요.
    select *
    from employees;

     

    • employees 테이블에 있는 직원들의 id, 이름, 급여 컬럼을 보고 싶어요.
    select employee_id, first_name, salary
    from employees;

     

    • employees 테이블에서 급여가 15000보다 높은 직원들을 조회하고 싶어요.
    • where 절에서 조회 조건을 지정한다.
    select *
    from employees
    where salary > 15000;

     

    • employees 테이블에서 급여가 10000 이상이고 department_id가 30인 직원들을 조회하고 싶어요.
    • where 절에서 and나 or 논리연산자를 사용해서 2개 이상의 조건식을 지정한다
    select *
    from employees
    where salary >= 10000 and department_id = 30;

     

    • employees 테이블에서 department_id가 60, 70, 80인 직원들을 조회하고 싶어요.
    select *
    from employees
    where department_id in (60, 70, 80);
    
    where department_id = 60 or department_id = 70 or department_id = 80; 를 in으로 표현함.

     

    • employees에서 job_id가 'FI'로 시작하는 직원들을 조회하고 싶어요.
    • WHERE절에서 like 연산자와 와일드카드('%', '_')로 패턴을 지정한다.
    • 값이므로 소문자 대문자 유의하여 적자.
    select *
    from employees
    where job_id like 'FI%';

     

    • 테이블에서 조회된 컬럼에 별칭을 붙이기
    • select절에서 컬럼명 뒤에 as를 붙이고 별칭을 지정한다.
    • as는 생략할 수 있다.
    • 별칭에 공백을 포함한 특수문자가 있는 경우 ""로 감싼다
    select first_name 이름, salary as 급여, salary*12 "직원 연봉"
    from employees;

    이런 식으로 뜬다.

     

     

    • 직원 id, 이름, 급여, 고용일을 조회하는데 고용일을 오름차순(예전 날짜부터 나온다)으로 보고 싶어요.
    select employee_id, first_name, salary, hire_date
    from employees
    order by hire_date asc;

     

     

     

     

    2. 데이터 추가하기

    • sample_products 테이블에 갤럭시 탭에 대한 번호(시퀀스 값), 카테고리, 이름, 회사, 가격, 할인판매가격, 재고량이 지정된 새로운 정보(행)을 추가하고 싶어요.
    insert into sample_products
    (product_no, product_category, product_name, product_company, product_price, product_discount_price)
    values
    (products_seq.nextval, '태블릿', '갤럭시 탭', '삼성전자', 8500000, 8500000, 13);

     

     

     

    3. 데이터 변경하기

    • sample_products 테이블의 갤럭시탭(no.2002) 이름과 가격, 할인판매가격을 바꾸고 싶어요.

     

    update sample_products
    set
    	product_name = '갤럭시 탭 22',
    	product_price = '100000',
    	product_discount_price = '100000',
    where product_no = 2002;​

    SQL 오류 - 열명을 올바르게 지정해 주십시오

    ?

     

    어? 틀렸다고? 엉? 어엉? 왜???

     

    정답은 '100000' 뒤에 ,를 붙였기 때문이다. 마지막 값 뒤에는 " , "를 붙이지 않는다. 반점을 붙이면 뒤에 나오는 것도 열이라고 인식하는 건가?

     

     

    < 정답코드 >

    update sample_products
    set
    	product_name = '갤럭시 탭 22',
    	product_price = '100000',
    	product_discount_price = '100000'
    where product_no = 2002;

    신기한 건 2002번이 없어서 그런가 0개 행이 업데이트되었다고 뜬다.

     

     

     

     

    4. 데이터 삭제하기

    • sample_products 테이블의 갤럭시탭(no.2002)을 삭제하고 싶어요.
    delete from sample_products
    where product_no = 2002;

     

     


     

     

    잘못된 정보에 대한 지적은 언제나 환영입니다. 

     

    복습 끝!

     

     

     

     

Designed by Tistory.