SQL
- SQL (Structure Query Language) : 데이터베이스 언어로 주로 관계형 데이터베이스에서 사용
- ex) MySQL, Oracle, SQLite, PostgreSQL
SQL 사용
SELECT "Hello World!"
FROM
: Table관련 작업을 할경우 FROM뒤에 명시
SELECT *
FROM Table_name
WHERE
: 선택적으로 사용 가능하며 조건을 이용해 필터
SELECT name
FROM user
WHERE IS NOT NULL
ORDER BY
: 선택적으로 사용 가능하며 데이터 결과를 출력할 때 어떤기준으로 할 지 설정
SELECT *
FROM user
ORDER BY DESC
GROUP BY
: 집합을 그룹화 할때 사용 ( 집계함수인 COUNT(), MAX(), MIN(), SUM(), AVG() 와 자주 사용)
SELECT COUNT(CustomerID),
Country
FROM Customers
GROUP BY country;
ORDER BY COUNT(CustomersID) DESC
LIMIT
: 출력할 데이터를 설정, 선택적으로 사용하며 사용시 가장 마지막에 사용
SELECT *
FROM user
LIMIT 100
DISTINCT
: 유니크한 값을 받을 때 사용
SELECT DISTINCT
FROM uesr
INNER JOIN
: 둘 이상의 테이블을 서로 공통된 부분으로 연결할 때 사용
SELECT *
FROM user
JOIN study ON user.id = study.id
OUTER JOIN
: 둘 이상의 테이블을 서로 공통된 부분으로 연결할 때 사용
SELECT *
FROM user
LEFT OUTER JOIN study ON user.id = study.id
SELECT *
FROM user
RIGHT OUTER JOIN study ON user.id = study.idSELECT *
INSERT INTO Customers(
CustomerName,
Address,
City,
PostalCode,
Country)
VALUES(
'Hekkan Burger',
'Gateveien 15',
'Sandnes',
'4306',
'Norway');
UPDATE
: 데이터를 업데이트 할 때 사용
UPDATE Customers
SET City = "Suwon",
Country = "Korea"
WHERE ID =1 ;
ALTER
: TABLE에 열을 추가할 때 사용
ALTER TABLE Persons
ADD Birthday DATE;
DELETE FROM Customers
WHERE Country = "China";
DROP TABLE Customers;
TRUNCATE
: TABLE 내부의 데이터만 삭제할 때 사용 (Table 자체는 삭제 X)
TRUNCATE TABLE Customers;
Function
: SQL문 작성 중 간단한 함수들도 사용 가능하다
SELECT MIN(Price)
FROM Products;
SELECT MAX(Price)
FROM Products;
SELECT AVG(Price)
FROM Products
SELECT SUM(Price)
FROM Products
LIKE
: 조건 중 하나이며, 특정 문자열이 패턴과 일치하는 지를 확인
SELECT * FROM Customers
WHERE City LIKE "S%"
SELECT * FROM Customers
WHERE City NOT LIKE "%a"
SELECT * FROM Customers
WHERE City LIKE "_a%"
SELECT * FROM Customers
WHERE City LIKE "[acs]%"
SELECT * FROM Customers
WHERE City LIKE "[a-e]%"
IN
: 조건 중 하나이며, 여러 값중 하나라도 속한 값을 확인한다 (OR)
SELECT * FROM Customers
WHERE Country IN("Korea", "USA")
BETWEEN
: 조건 중 하나이며, 시작값과 끝 값을 포함한 범위를 확인한다 (start ≤ r ≤ end)
SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20
Alias
: 별칭을 이용할때 사용한다 (AS)
SELECT CustomerName,
Address,
PostalCode AS Pno
FROM Customers
HAVING
: GROUP BY의 결과를 필터링할 때 사용
SELECT COUNT(CustomerID),
Country
FROM Customers
GROUP BY country;
HAVING CustomersID > 3