sql6 SQL정리7일차 VIEW view는 join을 매번 하면 길어지고 실수도 많아 질수가 있으니 이를 view로 만들어 놓는 것입니다. 즉 테이블과 같이 쓸 수 있지만 데이터베이스에 저장되는 것이아니고 임시로 사용하는 테이블입니다. create [or replace] [force|noforce] view 뷰이름[(컬럼이름(생략가능),컬럼이름(생략가능))] as 서브쿼리 서브 쿼리의 내용으로 뷰이름의 뷰를 생성하고 컬럼명의 컬럼이름으로 설정 with check option check option 으로 사용된 값을 변경 시키지 못한다 즉 where에 조건으로 넣은 데이터를 변경하지 못합니다. 하지만 다른 데이터는 변경이 가능합니다. with read only 진짜 완전히 글만 읽기만 가능하게 합니다. 어떤조건도 상관없이 뷰만 .. 2022. 6. 27. SQL정리6일차 테이블수정 이름변경:alter table 기존 테이블명 rename to 새테이블명 : 기존테이블명에서 새테이블명으로 이름 변경 컬럼 이름 변경 :alter table 테이블명 rename column 기존컬럼명 to 새 컬럼명: 기존컬럼명에서 새컬럼명으로 변경 제약조건 이름 변경 :alter table 테이블명 rename column 기존제약조건명 to 새 제약조건명: 기존제약조건명에서 새제약조건명으로 변경 테이블 복사 서브쿼리문을 이용해 복사한다. create table 새테이블이름(컬럼 타입,컬럼 타입 ) as (select * from 복사할테이블명) 이런식이다 즉 검색한 내용으로 테이블을 만들겠다는 의미이다. 컬럼은 직접 지정해줘야한다. 구조만 복사하는거는 똑같은데 (컬럼 타입,컬럼 타입 ) .. 2022. 6. 25. SQL정리5일차 Union join이 가로로 합치는 것이라면 union은 세로로 합치는 것 입니다. Union 은 중복은 한번만 포함하고 나머지를 다 출력하는 겁니다. Union All 중복 신경쓰지않고 모두다 출력하는 것 입니다. Intersect 이거는 중복되는 것만 출력합니다. minus 왼쪽 기준으로 왼쪽에서 오른쪽에 있는 것은 제외하고 출력합니다. 서브쿼리 서브쿼리는 가장 큰 기본 메인쿼리 안에서 하나의 쿼리문이 있는것입니다. 쿼리문은 우리가 작성하는 sql문이라고 생각하면 됩니다. 원래 테이블을 이용해서 검색하는데 테이블대신 쿼리문을 이용해서 그 결과를 바탕으로 데이터를 뽑아 오는 것입니다. ex) select salary from(select * from employees whrer salary>200); .. 2022. 6. 21. SQL정리 4일차 group by 이거는 그룹별로 묶는 것이다. 즉 여러개의 데이터를 한개의 그룹으로 묶어서 나타내게 하는것이다. 여기서 주의할점은 group by 로 묶은 것과 sum이나 count 이런 함수를 쓰지 않은 컬럼을 함께 쓸수 없다는 것이다. 왜냐하면 group by로 묶으면 해당 컬럼은 한개로 변환된다. 같은 것끼리 한곳에 묶여서 순서대로 나오는 것이 아니라 그냥 한개의 데이터가 되어버린다. 그래서 데이터 갯수가 맞는거 끼리 출력을 해줘야 된다. select * from employees group by department_id order by job_id; 이거는 명백히 잘못된것이다. 이것을 쓴 나는 처음에 department_id로 묵고 그안에서는 job_id로 순서대로 정렬해서 전체를 출력 할 생각 .. 2022. 6. 19. 이전 1 2 다음