SQL 기초

SQL 기초

실습공간 : SQL Online Compiler - for Data Science

CREATE

예시 : 제품 TABLE 생성

CREATE TABLE Products (
	id INT,
	name STRING,
	price MONEY,
	PRIMARY KEY (id)
)

column 중 하나를 Primary Key로 설정할 수 있다.

INSERT

예시 : 제품 TABLE에 항목 추가

INSERT INTO Products
VALUES (1, "Pen", 1.20)

VALUES의 어떤 항목을 SKIP하려면? 넣고자 하는 columns를 명시해주면 된다. 예를 들어서 위에서 price값을 넣지 않고 싶다면(id와 name 값만 추가하고 싶다면) 다음과 같이 작성한다.

단, primary key는 반드시 포함되어야 함

INSERT INTO Products (id, name)
VALUES (2, "Pencil")

READ, SELECT, and WHERE

기본적인 데이터 조회는 다음과 같이 할 수 있다. SELECT column명, column명2, ... FROM table명

전체 컬럼 조회는 SELECT * FROM table명

Where 문을 이어서 작성하면 조건에 부합하는 데이터를 조회할 수 있다.

예시 : Products Table에서 id = 1에 해당하는 모든 column값 조회하기

SELECT * FROM Products WHERE id = 1

[image:1A8280AB-E2B9-489D-8382-1FAA74F52DA6-1843-0002C58188D00AF7/스크린샷 2022-04-20 오후 4.32.45.png]

UPDATE 와 ALTER

  • UPDATE는 Table의 어떤 column값을 수정할 때 사용한다.

UPDATE는 SET과 함께 사용된다. UPDATE Table명 SET column = value 이런식으로 작성한다. 하지만 이렇게 작성했을 때는, 모든 데이터의 column 값이 UPDATE되기 때문에 WHERE문으로 조건을 작성하여 UPDATE 하고자 하는 대상을 특정한다.

예시 : Products Table의 id = 2에 해당하는 row의 price 값을 1.1로 변경한다.

UPDATE Products
SET price = 1.1
WHERE id = 2
  • Alter는 Table의 column을 추가하거나 삭제 하는 등 테이블 구성을 변경할 때 사용한다. 예시 : Products Table에 stock 이라는 column을 추가
ALTER TABLE Products
ADD stock INT

DELETE

예시 : Products Table에서 name = “Pencil”인 Row 삭제

DELETE FROM Products WHERE name ="Pencil"

FOREIGN KEY

CREATE TABLE Orders (
  id INT NOT NULL,
  order_number INT,
  cumtomer_id INT,
  product_id INT,
  PRIMARY KEY (id),
  FOREIGN KEY (customer_id) REFERENCES Customers(id),
  FOREIGN KEY (product_id) REFERENCES Products(id)
)

JOIN

JOIN은 둘 이상의 테이블을 연결해서 데이터를 검색하는 방법이다.[ 연결하고자 하는 두 테이블이 최소한 하나의 column을 공유하고 있어야한다.

  • INNER JOIN : 교집합, 공통적인 부분을 SELECT
  • LEFT JOIN : 왼쪽 테이블을 모두 포함하고 공통된 부분을 SELECT
  • RIGHT JOIN : 오른쪽 테이블을 모두 포함하고 공통된 부분을 SELECT

예시 : customer id를 기준으로 Customer 이름, 나이 와 Orders의 주문번호를 연결한 데이터 검색

SELECT Orders.order_number, Customers.firstname, Customers.lastname, Customers.age
FROM Orders
INNER JOIN Customers ON Orders.customer_id = customers.id

© 2021. All rights reserved.