반응형 DBMS/MySQL7 LEFT JOIN, INNER JOIN 차이 프로젝트로 게시판을 만들면서 각 카테고리에 따라 테이블을 나누어 작성한 후, 정보를 가져오는 경우 테이블을 합치는 경우가 있다. 이 때 JOIN 을 사용하게 되는데, 그 중 많이 사용하는 LEFT JOIN 과 INNER JOIN에 대해 알아보겠습니다. 게시판의 댓글과 게시글을 이용해서 예시를 들것입니다. 이 때 사용할 DBMS는 MYSQL 이다. OUTER JOIN - 합집합 LEFT JOIN은 OUTER JOIN 의 일종이다. 따라서 LEFT OUTER JOIN 이라고 볼 수 있다. OUTER JOIN 은 합집합을 의미한다. 여기서 LEFT JOIN은 왼쪽의 모든 행을 조회한다. select * from post left join comment on post.id = comment.post_id; 따라.. DBMS/MySQL 2024. 1. 6. [MySQL] UPDATE문을 이용한 데이터 변경 UPDATE 문 데이터베이스(Database)에서 데이터를 수정할 때 사용하는 쿼리(Query)문이다. 기본적으로 변경할 컬럼들을 선택하여 모든 레코드를 수정할 수 있다. WHERE(조건절)을 이용하여 조건에만 맞는 레코드만 수정도 가능하다. UPDATE문의 기본 구조 UPDATE "테이블명" SET "컬럼명1" = "데이터1" UPDATE example SET name = '김철수' 조건절을 이용한 데이터 변경 UPDATE 문에서 특정 조건을 사용하여 레코드를 수정 UPDATE "테이블명" SET "컬럼명1" = "데이터1" [WHERE 조건] UPDATE example SET name = 'none' WHERE email = 'test@gmail.com' DBMS/MySQL 2023. 10. 8. [MySQL] DELETE문을 이용한 데이터 삭제 DELETE문 테이블에 저장되어 있는 레코드를 삭제하기 위해 사용하는 Query문 기본적인 사용법으로 테이블(Table)의 전체 레코드 또는 삭제하고자 하는 레코드를 선택하여 삭제 가능하다. DELETE 뿐만 아니라 'TRUNCATE' 도 테이블의 데이터를 삭제하는 명령어이다. 테이블 전체 데이터 삭제 테이블에 저장되어 있는 데이터가 모두 필요 없거나, 초기화 시에 전체 데이터를 한 번에 삭제 DELETE FROM [테이블명] DELETE FROM example; 조건절을 이용한 일부 데이터 삭제 설정한 조건에 맞는 데이터만 삭제 DELETE FROM [테이블명] WHERE [조건] DELETE FROM example WHERE name = '홍길동'; DBMS/MySQL 2023. 10. 8. [MySQL] INSERT문을 이용한 데이터 추가/삽입 모든 컬럼에 데이터 추가 선택한 테이블에 레코드를 추가 INSERT INTO [테이블명] VALUES ([데이터1], [데이터2], ...) 데이터 값의 순서는 현재 테이블의 컬럼 순서대로 같은 타입의 값을 추가해야한다. INSERT INTO example VALUES ( 1, '홍길동' 'test@tistory.com' ); 특정 컬럼에 데이터 추가 선택한 테이블의 레코드를 추가, 특정 컬럼에만 데이터를 입력 데이터값 생략 가능한 경우 : AUTO_INCREAMENT 설정, DEFAULT 제약 조건 설정 INSERT INTO [테이블명] ([컬럼명1], [컬럼명2]) VALUES ([데이터1], [데이터2]) INSERT INTO example (name) VALUES ( '김삿갓' ); 여러 개의 레.. DBMS/MySQL 2023. 10. 8. [MySQL] DROP문을 이용한 DATABASE, TABLE 삭제 DROP 문을 이용한 DataBase, Table 삭제 - MySQL에서 DROP문은 데이터베이스(DataBase)와 테이블(Table)을 삭제할 수 있는 SQL문이다. 데이터베이스 삭제 데이터베이스와 데이터베이스 내의 모든 테이블과 데이터를 삭제한다. DROP DATABASE [데이터베이스명] IF EXISTS 명령어를 통해 데이터베이스 존재 여부 확인 후, 존재하는 경우만 삭제하여 에러 방지 DROP DATABASE example; DROP DATABASE IF EXISTS example; 테이블 삭제 테이블과 테이블 내에 있는 데이터를 모두 삭제 DROP TABLE [데이터베이스명] IF EXISTS 명령어를 통해 데이터베이스 존재 여부 확인 후, 존재하는 경우만 삭제하여 에러 방지 테이블을 삭제 .. DBMS/MySQL 2023. 10. 8. [MySQL] SELECT문을 이용한 DATABASE 조회 및 검색 SELECT문 모든 컬럼 조회 검색할 테이블의 모든 컬럼을 출력 SELECT * FROM [테이블 이름] SELECT * FROM example; SELECT문 특정 컬럼 조회 특정 확인하고 싶은 컬럼만 선택하여 출력 SELECT '[컬럼명1] [컬럼명2] ...' FROM [테이블 이름] SELECT id, name FROM example; SELECT문 특정 컬럼 조회 검색할 테이블에서 특정 컬럼에서 원하는 값을 가진 값을 출력 SELECT * FROM [테이블 이름] WHERE [컬럼명1] = [컬럼값1] SELECT * FROM example WHERE name = 홍길동; SELECT문 중복 값 제거 검색할 테이블에서 특정 컬럼에서 중복되는 값을 한 번만 출력 SELECT DISTINCT [컬럼.. DBMS/MySQL 2023. 10. 8. [MySQL] CREATE문을 이용한 데이터베이스, TABLE 생성 데이터베이스 생성 CREATE DATABASE [데이터베이스 이름] CREATE DATABASE example; 데이터베이스 생성 확인 SHOW DATABASE; SHOW DATABASE; 데이터베이스 선택 및 사용 USE [데이터베이스 이름]; USE example; 테이블 생성 CREATE TABLE [테이블 이름] ([컬럼명1], [컬럼명2] ...) 컬럼은 여러 개 추가가 가능하며, 컬럼이름은 겹치지 않게 설정해야한다. 테이블 생성 시에 제약 조건을 설정할 수도 있다. CREATE TABLE example ( idINTEGER, name varchar(10), email varchar(255) ); 테이블 생성 확인 SHOW TABLES 선택된 데이터베이스에 등록된 테이블의 생성 여부를 확인할 수.. DBMS/MySQL 2023. 10. 8. 이전 1 다음