Study Record

[SQL] SQL 살펴보기 본문

카테고리 없음

[SQL] SQL 살펴보기

초코초코초코 2023. 8. 12. 16:06
728x90

😶 Relational Database?

데이터베이스(Database)란 전자적으로 엑세스하고 기록할 수 있는 데이터의 구조화된 모음이다. 그 중에서 관계형(related) 데이터베이스는 데이터를 테이블, 열, 행으로 구성하는 일반적인 유형의 데이터베이스이다. 

테이블은 다른 테이블을 참조할 수 있고 테이블 간의 관계를 가질 수 있다. 

 

 

😶 SQL

관계형 데이터베이스에 단독으로 엑세스할 때 SQL 문법이 사용된다. SQL 은 구조화된 Query 언어를 의미하며 관계형 데이터베이스에서 데이터를 읽고 조작할 수 있도록 하는 언어이다.

 

일반적인 SQL 문은 다음과 같다.

SELECT 데이터 테이블에 대한 구체적인 정보를 언을 수 있고 여러가지 필터된 결과를 얻을 수 있다.
INSERT 테이블에 새로운 row 를 추가한다.
UPDATE 테이블의 row 를 업데이트한다.
DELETE 테이블로부터 row 을 삭제한다.

 

 

😶 SQL 문법 + 예시

 

SELECT Statement

 

기본 SELECT FROM문

SELECT * FROM park;
SELECT city, name, established FROM park;

SELECT 뒤에는 기본적으로 가져올 칼럼의 이름을 적는다. * 는 전체 칼럼을 의미한다. FROM 뒤에는 테이블 이름을 적는다. 

 

LIMIT Keyword

LIMIT 는 결과 row 의 개수를 제한한다. 다음 예시는 최대 5개까지 row 를 가져온다.

SELECT name FROM park
LIMIT 5;

 

WHERE

가져올 데이터 row 에 조건을 걸 수 있다. 

SELECT name FROM park
WHERE type != "recreation_area"
AND area_acres > 100000;

SELECT name FROM park
WHERE type == "national_park";

 

 

COUNT(*) 는 결과 row 의 개수를 의미한다. 실행하면 park 테이블의 row 개수를 알 수 있다.

SELECT COUNT(*) FROM park;

 

SUM() 은 결과 row 의 값을 전부 더한 값을 반환한다. 

SELECT SUM(park_visitors) FROM park
WHERE type == "national_park";

 

MAX(), MIN()

MAX() 는 가장 큰 값,  MIN() 는 가장 작은 값을 반환한다.

SELECT MAX(area_acres) FROM park
WHERE type = 'national_park';

SELECT MIN(area_acres) FROM park
WHERE type = 'national_park';

 

DISINICT Keyword

중복된 row 값을 제거한다.  

SELECT DISTINCT type FROM park;

SELECT COUNT(DISTINCT type) FROM park;

 

ORDER BY [Column] [ASC|DESC]

결과로 받을 row 를 명시할 column 기준으로 정렬할 수 있다. 맨 뒤의 ASC 가 붙으면 오름차순, DESC 가 붙으면 내림차순으로 정렬한다.

SELECT name FROM park
ORDER BY name DESC;

SELECT name FROM park
ORDER BY name ASC;

 

GROUP BY [Column]

명시할 Column 을 기준으로 부분 집합으로 분리가 가능하다.

SELECT type, name FROM park
GROUP BY type

 

 

INSERT Statement

 

Insert 문의 기본 문법이다. 콤바를 이용하여 여러 row 를 insert 할 수 있다.

INSERT INTO table_name VALUES
(column1, column2, ...),
(column1, column2, ...),
(column1, column2, ...);

 

 

UPDATE Statement

UPDATE park
SET area_acres = 46,
established = 1088640000,
type = 'office'
WHERE name = 'Googleplex';

 

 

DELETE Statement

where 문으로 삭제할 row 에 조건을 걸 수 있다.

DELETE FROM park
WHERE name = 'Googleplex';
728x90