일자 : 11주차 1차시
SELECT * FROM Customers;
SELECT CustomerName, City, Country FROM Customers;
SELECT DISTINCT 문은 고유한(다른) 값만 반환하는 데 사용된다.SELECT DISTINCT column1, column2, ...
FROM table_name;
SELECT Country FROM Customers;
SELECT DISTINCT Country FROM Customers;
SELECT COUNT(DISTINCT Country) FROM Customers;
WHERE 절은 레코드를 필터링하는 데 사용된다.SELECT * FROM Customers
WHERE CustomerID = 1;
WHERE 절에서 사용할 수 있는 연산자는 다음과 같다:| 연산자 | 설명 |
|---|---|
| = | 같음 |
| > | 보다 큼 |
| < | 보다 작음 |
| >= | 크거나 같음 |
| <= | 작거나 같음 |
| <> | 같지 않음. (일부 SQL 버전에서는 != 사용) |
| BETWEEN | 특정 범위 내 |
| LIKE | 패턴 검색 |
| IN | 열의 여러 가능한 값을 지정하기 위해 사용 |
WHERE 절은 AND, OR 및 NOT 연산자와 결합할 수 있다.SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;
// AND 예제
SELECT * FROM Customers
WHERE Country = 'Germany' AND City = 'Berlin';
// OR 예제
SELECT * FROM Customers
WHERE City = 'Berlin' OR City = 'Stuttgart';
SELECT * FROM Customers
WHERE Country = 'Germany' OR Country = 'Spain';
// NOT 예제
SELECT * FROM Customers
WHERE NOT Country = 'Germany';
AND, OR 및 NOT 결합
SELECT * FROM Customers
WHERE Country = 'Germany' AND (City = 'Berlin' OR City = 'Stuttgart');
SELECT * FROM Customers
WHERE NOT Country = 'Germany' AND NOT Country = 'USA';
ORDER BY 키워드ORDER BY 키워드는 결과 집합을 오름차순 또는 내림차순으로 정렬하는 데 사용된다.ORDER BY 키워드는 기본적으로 레코드를 오름차순으로 정렬한다. 레코드를 내림차순으로 정렬하려면 DESC 키워드를 사용한다.SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
SELECT * FROM Customers
ORDER BY Country;
SELECT * FROM Customers
ORDER BY Country DESC;
SELECT * FROM Customers
ORDER BY Country, CustomerName;
SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;
INSERT INTO 문은 테이블에 새 레코드를 삽입하는 데 사용된다.INSERT INTO 문을 두 가지 방법으로 작성할 수 있다:INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
INSERT INTO 구문은 다음과 같다:INSERT INTO table_name
VALUES (value1, value2, value3, ...);
다음 SQL 문은 "Customers" 테이블에 새 레코드를 삽입한다:
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');
참고: NULL 값은 0 값이나 공백이 포함된 필드와 다르다. NULL 값이 있는 필드는 레코드 생성 시 비워 두어진 필드이다!
SELECT column_names
FROM table_name
WHERE column_name IS NULL;
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;
// IS NULL
SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NULL;
// IS NOT NULL
SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NOT NULL;
UPDATE 문은 테이블의 기존 레코드를 수정하는 데 사용된다.UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
참고: 테이블에서 레코드를 업데이트할 때 주의해야 한다!
UPDATE문에서WHERE절을 확인하라.WHERE절은 어떤 레코드가 업데이트되어야 하는지를 지정한다.WHERE절을 생략하면 테이블의 모든 레코드가 업데이트된다!
UPDATE Customers
SET ContactName = 'Alfred Schmidt', City = 'Frankfurt'
WHERE CustomerID = 1;
DELETE 문은 테이블에서 기존 레코드를 삭제하는 데 사용된다.DELETE FROM table_name WHERE condition;
참고: 테이블에서 레코드를 삭제할 때 주의해야 한다!
DELETE문에서WHERE절을 확인하라.WHERE절은 어떤 레코드를 삭제할지를 지정한다.WHERE절을 생략하면 테이블의 모든 레코드가 삭제된다!
DELETE FROM Customers WHERE CustomerName='Alfreds Futterkiste';
DELETE FROM table_name;
