본문 바로가기
  • think normal
새로워지기/서른의 생활코딩

8일차) 데이터베이스 산술연산 20180608_pm

by 청춘만화 2018. 6. 8.



--예제

--buyer2의 buyer_id가 p30203인 

--buyer2의 buyer_name값을 '거성'으로 update하시오

select *

from buyer2

where buyer_id = 'P30203';


    update buyer2

    set buyer_name='거성'  

    where buyer_id = 'P30203';


        select *

        from buyer2

        where buyer_id = 'P30203';

        

        

-- buyer2 테이블의 buyer_name이 피리어스인 row를 삭제하시오

select

from buyer2

where buyer_name = '피리어스';


    delete from buyer2 --'행', 가로, 로우, 튜플, 레코드 단위로 삭제

    where buyer_name = '피리어스';


    rollback;

    

        update buyer2     --특정 필드만 삭제하려면 

        set buyer_name = null

        where buyer_id = 'P30202';     --cannot update ("PC04"."BUYER2"."BUYER_NAME") to NULL

        

            alter table buyer2    -- NN-> null 로

            modify(buyer_name varchar2(40) null);

            

            update buyer2     --특정 필드만 삭제하려면 

            set buyer_name = null

            where buyer_id = 'P30202'; --cannot update ("PC04"."BUYER2"."BUYER_NAME") to NULL

                    

            select *

            from BUYER2

            where buyer_id = 'P30202';

  


  --상품테이블 prod로부터 상품코드prod_id와 상품명prod_name을 검색하시오 

  select prod_id    상품코드 --알리아스(보조 설명, 컬럼 값을 한글로) 추가 기재

        ,prod_name  as 상품명

    from prod; --from 뒤에는 무조건 테이블 !

            



  --장바구니 테이블로부터 주문번호 상품코드 회원id 수량을 검색하시오

select cart_no 주문번호  

        , cart_prod "상품코드" --알리아스(보조 설명, 컬럼 값을 한글로) 추가 기재

        , cart_member as "회원id"

        , cart_qty 수량 -- 생략을 가장 많이 사용한다 

    from cart;



-------------산술연산-------------

--회원 테이블의 마일리지를 12로 나눈 값 검색


select mem_mileage

    ,  mem_mileage/12

from MEMBER;


select mem_mileage 회원마일리지 -- '알리아스'는 잠시 부르는 이름 

    ,  mem_mileage/12 나눈값 --실수

    ,  round(mem_mileage/12,2) 반올림 --함수 - '2 자리는 나오는 것. 자리수 3에서 반올림

    ,  mem_mileage + 12 더한값

    ,  mem_mileage - 12 뺀값

    ,  mem_mileage * 12 곱한값

from MEMBER;


-----

select prod_id 상품아이디,

    prod_name 상품이름,

    prod_price*55 판매단가

from prod;


select prod_lgu 상품분류

from prod;


select distinct prod_lgu 상품분류 --중복제거 

from prod;


select distinct prod_buyer 

from prod;




-------------데이터 베이스  정렬하기 

select mem_id 회원id

    ,mem_name "아빠가 방에 들어가심"

    ,mem_bir 생일

    ,mem_mileage 마일리지

from member

order by mem_id asc; 


    select mem_name "아빠가 방에 들어가심"  --id를 select하지 않아도 정렬이 가능

        ,mem_bir 생일

        ,mem_mileage 마일리지

    from member

    order by mem_id asc; 

    

        select *  --따라서 전체 지정 후 정렬도 가능 

        from member

        order by mem_id asc; 


       

select mem_id 회원id

    ,mem_name 성명

    ,mem_bir 생일

    ,mem_mileage 마일리지

from member

order by 성명 asc;      --알리아스 ALIAS 에 대한 항목을 선택해서 정렬도 가능하다 

        


select mem_id 회원id

    ,mem_name 성명

    ,mem_bir 생일

    ,mem_mileage 마일리지

from member

order by 3 asc;      --SELECT한 항목 중 세번째 항목을 정렬한다




select mem_id 

    ,mem_name 

    ,mem_bir 

    ,mem_mileage 

from member

order by mem_mileage, 1;    --mem_mileage 뒤에 acs 생략!

                            --mem_mileage가 같은 경우, 1차 정렬 영역 안에서 '2차 정렬' 

                            

select mem_id 

    ,mem_name 

    ,mem_bir 

    ,mem_mileage 

from member

order by mem_mileage asc, 1 asc;    --mem_mileage와 1 뒤에 모두 acs 생략!



select mem_id 

    ,mem_name 

    ,mem_bir 

    ,mem_mileage 

from member

order by mem_mileage desc, 2 asc;    --다른 정렬을 중복할 수 있다 




--회원테이블에서 회원아이디, 직업, 취미를 검색하기 

--직업으로 오름차순, 취미로 내림차순, 회원 아이디로 오름차순

select mem_id 회원id

, mem_job 직업

, mem_like 취미

from MEMBER

order by mem_job,mem_like desc, mem_id ; -- acs는  생략가능



select mem_job,mem_memorial

from member;


update member 

set mem_memorial = null

where mem_job = '회사원';


select mem_job,mem_memorial

from member

where mem_job = '회사원';


rollback;







--------------------------------------첨부파일

STUDY.sql

한국건설 ERD.erwin

java수업 및 필기내용180608.pptx


내가만든최초의결과물.erwin

ddit(ERDIAGRAM)v2.1_수정_ssam.erwin

base_table.sql


댓글