TIL 11주차 4일 - SQL 문법(2)

Sang heon lee·2021년 7월 22일
0

TIL 리스트

목록 보기
40/60

1. SQL 문법

1.1 SELECT

  • 테이블(table_name)에서
    원하는 특성(column1, column2)의 데이터를 모두 가져온다.
SELECT column1, column2
FROM table_name;

1.2 SELECT DISTINCT

  • 테이블(table_name)에서
    원하는 특성(column1, column2)의 데이터 중 개별 값 한개씩 가져온다.
SELECT DISTINCT column1, column2
FROM table_name;

1.3 WHERE

  • 필터 역할을 하는 쿼리문 입니다.
* 특정값과 동일한 데이터 찾기
SELECT *
FROM table_name
WHERE column1 = value1;

SELECT *
FROM table_name
WHERE column1 = value1 AND column2 = value2;

SELECT *
FROM table_name
WHERE column1 = value1 OR column2 = value2;

* 특정값을 제외한 데이터 찾기
SELECT *
FROM table_name
WHERE column1 <> value1;

SELECT *
FROM table_name
WHERE column1 != value1;

SELECT *
FROM table_name
WHERE NOT column1 = value1;

* 대소를 판별하여 데이터 찾기
SELECT *
FROM table_name
WHERE column1 > value1;

SELECT *
FROM table_name
WHERE column1 <= value1;

* 특정 문자열을 포함하는 데이터 찾기
SELECT *
FROM table_name
WHERE column1 (NOT) LIKE "%문자열%" ; // 문자열을 포함하는 (하지 않는)
WHERE column1 (NOT) LIKE "문자열%" ; // 문자열로 시작하는 (않는)
WHERE column1 (NOT) LIKE "%문자열";  // 문자열로 끝나는 (않는)

* 특정 값을 포함하는 데이터 찾기
SELECT *
FROM table_name
WHERE column1 IN (value1, value2);

SELECT *
FROM table_name
WHERE column1 NOT IN (value1, value2);

* 값이 비어있는 데이터 찾기
SELECT *
FROM table_name
WHERE column1 IS NULL;

* 값이 비어있지 않는 데이터 찾기
SELECT *
FROM table_name
WHERE column1 IS NOT NULL;

* 범위 내의 데이터 찾기
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

1.4 ORDER BY

* column1의 값을 기준으로 오름차순 정렬
SELECT *
FROM table_name
ORDER BY column1;

* column1의 값을 기준으로 내림차순 정렬
SELECT *
FROM table_name
ORDER BY column1 DESC;

* 여러 값을 기준으로 정렬
SELECT *
FROM table_name
ORDER BY column1, column2; // 1차 : column1, 2차 : column2

1.5 INSERT INTO

* 새로운 데이터 행 추가
INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3);

* 새로운 데이터 행 추가
INSERT INTO table_name 
VALUES (value1, value2, value3);

* 새로운 데이터 행(일부 값만) 추가, 비어있는 값은 NULL로 채워짐
INSERT INTO table_name (column1, column3)
VALUES (value1, value3);

1.6 UPDATE

* 기존 데이터 의 값 변경
UPDATE table_name
SET column2 = value2, column3 = value3, ...
WHERE column1 = value1;

1.7 DELETE

* 데이터 의 삭제
DELETE FROM table_name 
WHERE condition;

* 테이블 전체 삭제
DELETE FROM table_name;

1.8 MIN, MAX, AVG, SUM, COUNT

* 함수처럼 수행하여 데이터 필터링
SELECT MIN(column_name)
FROM table_name
WHERE condition;

1.9 Wildcards

*  (%) // 모든 문자(0~ 무한개) 를 표시
? (_) // 한 문자를 표시
[] //  [] 내에 있는 개별 문자를 모두 표시
!  (^) // 부정의 의미
-  // a-c 처럼 abc
#  // 숫자 하나를 의미 

( ) 내는 SQL 서버에서의 의미

1.10 INNER JOINS // LEFT JOINS // RIGHT JOINS

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

1.11 GROUP BY

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

2. SQL DATABASE 문법

2.1 CREATE

// testDB 라는 이름의 DATABASE 생성
CREATE DATABASE testDB;

// testDB 라는 이름의 TABLE 생성
CREATE TABLE testDB (
  PersonID int,
  LastName varchar(255),
  FirstName varchar(255),
  Address varchar(255),
  City varchar(255) 
);

2.2 DROP

// testDB 라는 이름의 DATABASE 삭제
DROP DATABASE testDB;

// testDB 라는 이름의 TABLE 삭제
DROP TABLE testDB;

2.3 TRUNCATE

// Persons 라는 테이블 내의 모든 데이터 삭제
TRUNCATE TABE Persons;

2.4 ALTER

// Persons 라는 테이블 내에 Birthday 라는 특성 추가
// 타입은 DATE
ALTER TABLE Persons
ADD Birthday Date

// Persons 라는 테이블 내에 Birthday 라는 특성 제거
ALTER TABLE Persons
DROP COLUMN Birthday
profile
개초보

0개의 댓글