전체 카테고리

보호되어 있는 글입니다.
본 게시글은 Datacamp의 Introduction to SQL 코스와 패스트캠퍼스의 SQL/DB 올인원 패키지 강좌를 수강하며 제가 기억할 수 있도록 작성한 것으로, 아주 기초적인 내용으로 구성되어 있습니다. SELF JOIN 동일 테이블 사이의 조인. 즉, 하나의 테이블이 특정 컬럼을 기준으로 자기 자신과 조인하는 것을 말한다. ex. country_code 컬럼을 기준으로 populations 테이블을 셀프 조인하여 각각을 p1, p2라고 명명하고, p1의 country_code, size(두 컬럼의 공통 컬럼으로 size2010, size2015의 두 개의 컬럼으로 표현할 것)을 조회 SELECT p1.country_code, p1.size size2010, p2.size size2015 FRO..
기본적으로 ALTER를 통해서 테이블의 정보를 수정할 수 있다. 테이블명을 수정할 때 역시 ALTER를 사용할 수 있는데, ALTER가 아닌 RENAME을 사용해서 테이블명을 변경할 수도 있다. RENAME TABLE [테이블명] TO [변경될 테이블명]; 그렇다면 RENAME과 ALTER의 가장 큰 차이점은 뭘까? 바로 RENAME을 사용할 경우 한번에 다수의 테이블명을 변경할 수 있으나, ALTER를 사용해서는 단일 테이블명 변경만 가능하다는 것이다. -- ALTER를 사용해 테이블명 변경 ALTER TABLE [테이블명] RENAME [변경될 테이블명]; -- RENAME을 사용해 다수의 테이블명 변경 RENAME TABLE [테이블명1] TO [변경될 테이블명1], [테이블명2] TO [변경될 테..
테이블명 변경(RENAME) ALTER TABLE [기존 테이블명] RENAME [변경될 테이블명]; 컬럼 추가(ADD) -- 마지막에 추가(기본) ALTER TABLE 테이블명 ADD COLUMN 칼럼이름 칼럼타입 -- 지정 칼럼 뒤에 ALTER TABLE 테이블명 ADD COLUMN 칼럼이름 칼럼타입 AFTER 칼럼이름 -- 제일 앞에 추가 ALTER TABLE 테이블명 ADD COLUMN 칼럼이름 칼럼타입 FIRST 컬럼 삭제(DROP COLUMN) ALTER TABLE [테이블명] DROP COLUMN [컬럼명]; 컬럼 수정 - 컬럼명, 컬럼 데이터 타입 변경 - 컬럼 데이터 타입만 변경(MODIFY COLUMN) ALTER TABLE [테이블명] MODIFY COLUMN [컬럼이름] [새컬럼타입..
PostgreSQL을 이용하며 실습해보는 과정에서 테이블을 생성한 후 수정해야하는 상황이 생길 때 헷갈렸던 부분들을 따로 정리했다. 기존에 사용하던 MySQL(MariaDB)의 명령어도 따로 정리할 생각이다. 테이블명 변경하기 ALTER TABLE [기존 테이블명] RENAME TO [변경될 테이블명]; 기존 테이블에 컬럼 추가하기 ALTER TABLE [테이블명] ADD [컬럼명] [데이터 타입]; 컬럼 제거하기 ALTER TABLE [테이블명] DROP [컬럼명]; 컬럼명 변경하기 ALTER TABLE [테이블명] RENAME COLUMN [기존 컬럼명] TO [변경될 컬럼명]; 컬럼의 데이터 타입 변경하기 ALTER TABLE [테이블명] ALTER COLUMN [컬럼명] TYPE [변경될 데이터 ..
본 게시글은 패스트캠퍼스의 SQL/DB 올인원 패키지 강좌를 수강하며 제가 기억할 수 있도록 작성한 것으로, 아주 기초적인 내용으로 구성되어 있습니다. 1. payment 테이블에서 단일 거래의 amount 액수가 가장 많은 고객들의 customer_id를 추출하라. 단, customer_id의 값은 유일해야한다. 내가 처음 생각했던 답(amount 액수가 가장 많은 단일 레코드의 customer_id) : 오답 SELECT customer_id FROM payment p ORDER BY amount DESC LIMIT 1; 문제가 요구하는 답(amount 액수가 가장 많은 레코드들의 customer_id 다수) SELECT DISTINCT customer_id FROM payment p1 WHERE p..
본 게시글은 패스트캠퍼스의 SQL/DB 올인원 패키지 강좌를 수강하며 제가 기억할 수 있도록 작성한 것으로, 아주 기초적인 내용으로 구성되어 있습니다. IS NULL 특정 컬럼 혹은 값이 널 값인지 판단하는 연산자이다. 널 값이 아닌지를 확인하기 위해서는 NOT 연산자와 함께 사용해 IS NOT NULL의 형태로 사용할 수 있다. 다른 데이터 타입들의 경우에는 값을 확인할 때, '=', '!=', '' 등을 사용하는 것과 달리 IS를 사용해야 한다는 점에 주의하자. SELECT [컬럼 리스트] FROM [테이블명] WHERE [컬럼명] IS NULL; -- 해당 컬럼값이 null인 레코드 조회 SELECT [컬럼 리스트] FROM [테이블명] WHERE [컬럼명] IS NOT NULL; -- 해당 컬럼값..
본 게시글은 패스트캠퍼스의 SQL/DB 올인원 패키지 강좌를 수강하며 제가 기억할 수 있도록 작성한 것으로, 아주 기초적인 내용으로 구성되어 있습니다. IN 특정 집합(컬럼 혹은 리스트)에서 특정 집합 혹은 리스트가 존재하는지 판단하는 역할을 수행한다. IN 연산자 뒤에는 괄호를 통해 묶인 일련의 값들로 구성된 집합, 서브쿼리가 올 수 있다. 이 데이터 내에 일치하는 값을 조건으로 줄 때 'WHERE [조건컬럼명] IN [집합]' 혹은 'WHERE [조건컬럼명] IN [서브쿼리]'의 형태로 나타낼 수 있다. SELECT [컬럼 리스트] FROM [테이블명] WHERE [컬럼명] IN (값1, 값2, ..); SELECT [컬럼 리스트] FROM [테이블명] WHERE [컬럼명] IN (SELECT .....
본 게시글은 패스트캠퍼스의 SQL/DB 올인원 패키지 강좌를 수강하며 제가 기억할 수 있도록 작성한 것으로, 아주 기초적인 내용으로 구성되어 있습니다. LIMIT (PostgreSQL, MySQL 등에서 지원) 특정 집합을 출력할 때 출력하는 행의 수를 한정시키는 역할을 수행한다. 부분 범위 처리시에 사용된다. 아래와 같은 형식으로 사용된다. SELECT [조회 컬럼1], [조회 컬럼2], ... FROM [테이블명] LIMIT [출력할 행의 수]; SELECT [조회 컬럼1], [조회 컬럼2], ... FROM [테이블명] LIMIT [출력할 행의 수] OFFSET [출력하기 시작할 위치]; OFFSET 시작 위치를 지정할 때는 OFFSET 키워드를 사용할 수 있다. 이 OFFSET은 시작하고자 하는 ..
사실 DataCamp를 통해 SQL Fundamentals 과정을 따라가면서 추가적인 결제가 필요한 상황에 마주하게 됐다. 고민 끝에 이전에 결제해두었던 패스트캠퍼스의 SQL/DB 올인원 패키지 강좌를 수강하는 것으로 대체하여 진행하기로 하였다. 그 과정에서 해당 강의가 SQL 실습을 위해 사용하는 PostgreSQL을 설치하게 되었다. 강의는 SELECT문의 기초부터 시작하지만 이의 내용들은 기존에 작성했던 글에 내용을 추가하는 방식으로 진행하고, JOIN에 대한 부분부터 새로 글을 작성하려 한다. OUTER JOIN 특정 컬럼을 기준으로 매칭된 집합을 출력하지만 한 쪽의 집합은 모두 출력하고 다른 한쪽의 집합은 매칭되는 컬럼의 값만을 출력한다. OUTER JOIN은 대표적으로 LEFT/RIGHT/FU..
devYH
'분류 전체보기' 카테고리의 글 목록 (18 Page)