JOIN 기본 사용법(FK 설정 포함)_연습1

JooKit 주킷 2021. 3. 24. 00:44
목차 접기
728x90
반응형

join 데이터베이스 생성

CREATE DATEBASE `join`;

join 데이터베이스 선택

USE `join`;

상품(product) 테이블 생성

CREATE TABLE product(
    product_no INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
    `name` CHAR(100) NOT NULL,
    price INT(100) UNSIGNED NOT NULL
);

재고 테이블이 존재한다면 삭제

DROP TABLE IF EXISTS stock;

FK(외래키) 설정하는 재고 테이블 생성

CREATE TABLE stock(
    product_no INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
    `count` CHAR(100) NOT NULL,
    receiving_date TIMESTAMP,
    FOREIGN KEY (product_no) REFERENCES product (product_no)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

FOREIGN KEY (현재 테이블의 외래키 설정할 칼럼명) REFERENCES 참조할 테이블명 (참조할 테이블의 칼럼명)

재고 생성

INSERT INTO stock
SET `count` = 10,
receiving_date = NOW();

INSERT INTO stock
SET `count` = 50,
receiving_date = NOW();

INSERT INTO stock
SET `count` = 20,
receiving_date = NOW();

상품 생성

INSERT INTO product
SET `name` = 'A',
price = 1000;

INSERT INTO product
SET `name` = 'B',
price = 5000;

INSERT INTO product
SET `name` = 'C',
price = 3000;

테이블 JOIN _ 연습1

SELECT P.*
FROM product P
JOIN stock S ON S.product_no = P.product_no
WHERE S.product_no = 3;

JOIN 앞에는 INNER가 생략되어 있다.

  • product 테이블을 P라는 별칭을 붙여 출력하겠다.
  • stock 테이블을 S 라는 별칭을 붙여 S.product_no 와 P.product_no가 같은 stock 테이블의 product_no가 3인 product 를 출력하겠다.

연습1의 쿼리 결과

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/30ba9623-6fd2-4efa-a9a4-22cfded89c07/Untitled.png

###

728x90
반응형
LIST

'SQL' 카테고리의 다른 글

LEFT/RIGHT JOIN 기본 사용법  (0) 2021.03.24
JOIN 기본 사용법(FK 설정 포함)_연습2  (0) 2021.03.24
MySQL SYSDATE(), NOW() 함수 비교  (0) 2021.03.17
[ sql ] modify column ~~ unsigned , auto_increment  (0) 2020.12.01
[ SQL ] 쿼리 모음  (0) 2020.11.25