본문 바로가기
반응형

SQL/MySQL66

MySQL INNER LEFT RIGHT CROSS JOIN 사용방법 및 예제 MySQL에서는 INNER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN을 사용해 여러 테이블을 합쳐 필요한 값만 가져올 수 있는데 각각 두 테이블에서 같은 값만(INNER JOIN) 왼쪽에만 값이 있어도(LEFT JOIN) 오른쪽에만 값이 있어도(RIGHT JOIN) 모든 경우의 수가 나오게(CROSS JOIN) 기능은 차례대로 알아보자 먼저 TB1 테이블에는 영희와 철수라는 값이 들어있고 TB2 테이블에는 영희와 희영이라는 값이 들어있다는 것을 전제로 한다 INNER JOIN INNER JOIN은 두 테이블에서 조건이 같은 값만 가져오는데 SELECT ... FROM 테이블A INNER JOIN 테이블B ON A.컬럼명 = B.컬럼명 위의 쿼리와 같이 FROM 테이블A INN.. 2021. 1. 8.
MySQL WITH 절 사용법 및 예제(가상 테이블) MySQL에서는 오라클과 동일하게 WITH 문으로 가상테이블을 만들 수 있는데 작성방법은 다음과 같다 WITH 가상테이블명 AS ( SELECT 쿼리 UNION ALL -- 뭐 붙이거나 할 경우 추가 SELECT 쿼리 ) WITH를 이용해 가상 테이블을 만든 후 이후 조회 시 테이블에 가상테이블명을 넣어주면 정상적으로 조회가 가능하다 마지막으로 예제에 사용한 쿼리는 다음과 같다 WITH TBL AS ( SELECT '철수' AS NAME, 20 AS AGE UNION ALL SELECT NAME, AGE FROM TB1 ) SELECT NAME, AGE FROM TBL; 2021. 1. 8.
MySQL ON DUPLICATE KEY(MERGE INTO) 사용방법 MySQL에서는 ON DUPLICATE KEY의 기능은 INSERT 시 Key 컬럼에 동일한 값이 존재하면 해당 Key에 해당하는 ROW에 INSERT가 아닌 UPDATE가 돌아가게 된다 오라클에서는 MERGE INTO라고 하면 어느정도 느낌이 올 것이다 오라클 MERGE INTO 사용법 & 예제 MERGE INTO는 하나의 테이블 혹은 두 테이블을 가지고 비교해본 뒤에 조건에 맞으면 UPDATE, DELETE를 수행하고 맞지 않으면 INSERT를 수행하게 된다 위 테이블을 사용한 예제를 보자면 아래와 같다 MERGE wakestand.tistory.com 이걸 사용해주려면 먼저 테이블에 Key를 지정해준 뒤 쿼리문을 작성해주면 되는데 MySQL Key 지정방법은 아래를 참고하고 MySQL 테이블 제약조.. 2021. 1. 8.
MySQL 조회 삽입 변경 삭제방법 정리 MySQL에서 조회 삽입 변경 삭제는 CRUD라고도 하는데 하는 방법은 다음과 같다 조회 SELECT 컬럼명 OR * FROM 테이블명 조회 시 컬럼명을 사용하면 입력한 컬럼만 조회가 가능하고 * 를 사용해주면 테이블의 전체 컬럼을 조회한다 조건이 필요하면 WHERE, GROUP BY를 사용할 수 있고 ORDER BY를 통해 원하는 순으로 정렬이 가능하다 추가 INSERT INTO 테이블명(컬럼명) VALUES(값) 변경 UPDATE 테이블명 SET 컬럼명 = 값 WHERE 조건 변경 시에는 WHERE가 필수가 아니지만 WHERE을 사용하지 않으면 UPDATE 시 테이블의 모든 컬럼이 변경되기 때문에 WHERE을 꼭 써줘야 한다 삭제 DELETE FROM 테이블명 WHERE 조건 삭제 시에도 변경과 동일.. 2021. 1. 7.
MySQL 테이블 제약조건 조회 추가 삭제 변경방법 정리 MySQL에서 제약조건은 DESC 스키마명.테이블명; 으로 조회가 가능한데 여기서 제약조건 추가 및 변경방법은 다음과 같다 -- 제약조건 확인 DESC 스키마명.테이블명; -- PK ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 PRIMARY KEY(NAME); -- FK ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건이름 FOREIGN KEY(컬럼명) REFERENCES PK테이블명(PK컬럼명) (ON DELETE CASCADE / ON UPDATE CASCADE); -- NOT NULL ALTER TABLE 테이블명 MODIFY COLUMN 컬럼명 데이터타입(크기) NOT NULL; -- UNIQUE ALTER TABLE 테이블명 ADD CONSTRAINT 제약.. 2021. 1. 7.
MySQL 테이블 생성 및 제약조건 설정방법 정리 MySQL에서 테이블 생성 시에는 CREATE TABLE 테이블명 ( 컬럼명 데이터타입 제약조건 ) 이런 식으로 사용하게 되는데 직접 타이핑을 쳐서 테이블을 만들 수도 있지만 MySQL Workbench에서 편하게 만들 수 있으므로 이렇게 힘들게 삽질해서 만들 필요가 전혀 없다 먼저 왼쪽의 스키마를 더블클릭 후 Query 탭 밑에 있는 테이블 생성 아이콘을 눌러주자 그럼 위와 같은 창이 뜨는데 테이블 네임, 컬럼 네임, 데이터타입, 제약조건, 기본값을 설정하고 우측 하단의 Apply를 눌러주면 테이블이 된다 데이터 타입은 엄청 많긴 한데 실제 자주 사용하는 데이터타입은 다음과 같다 VARCHAR(크기) - 지정한 크기 이하로만 컬럼에 값 삽입 가능 CHAR(크기) - 지정한 크기를 다 채우지 않았을 경우.. 2021. 1. 7.

반응형