SELECT
데이터베이스에서 데이터를 선택하는 데 사용
반환된 데이터는 결과 집합이라고 하는 결과 테이블에 저장
1. "Customers" 테이블의 모든 레코드를 선택
SELECT * FROM Customers;
2. "Customers" 테이블에서 "CustomerName" 및 "City" 열을 선택
SELECT CustomerName, City FROM Customers;
3. "Customers" 테이블에서 "CustomerName" 열을 선택
SELECT CustomerName FROM Customers;
SELECT DISTINCT
고유한(다른) 값만 반환하는 데 사용
테이블 내부의 열에는 종종 많은 중복 값이 포함되는데 다른(고유한) 값만 선택할 때 사용
Microsoft Access 데이터베이스에서 지원 X
1. "Customers" 테이블의 "Country" 열에서 DISTINCT 값만 선택
SELECT DISTINCT Country FROM Customers;
2. "Customers" 테이블의 "Country" 열에서 DISTINCT 값만 선택의 수
SELECT COUNT(DISTINCT Country) FROM Customers;
WHERE
레코드를 필터링하는 데 사용
지정된 조건을 충족하는 레코드만 추출하는 데 사용
- 텍스트 값은 작은따옴표로 묶어야 함(대부분의 데이터베이스 시스템에서는 큰따옴표도 허용)
- 숫자 값은 따옴표로 묶지 않음
- 연산자를 사용할 수 있음
- = | > | < | >= | <= | <> | BETWEEN | LIKE | IN
👆 Not equal
- = | > | < | >= | <= | <> | BETWEEN | LIKE | IN
1. "Customers" 테이블에서 "Mexico" 국가의 모든 고객을 선택
SELECT * FROM Customers
WHERE Country='Mexico';
2. "Customers" 테이블에서 "CustomerID" 열에서 1의 값만 선택
SELECT * FROM Customers
WHERE CustomerID=1;
AND, OR and NOT
WHERE절에서 연산자를 사용할 수 있음
AND및 OR연산자는 둘 이상의 조건을 기반으로 레코드를 필터링하는 데 사용
- AND 연산자는 AND로 구분된 모든 조건이 TRUE인 경우 레코드를 표시합니다.
- OR 연산자는 OR로 구분된 조건 중 하나라도 TRUE인 경우 레코드를 표시합니다.
- NOT 연산자는 조건이 NOT TRUE가 아닌 경우 레코드를 표시합니다.
1. 국가가 "독일"이고 도시가 "베를린"인 "고객"의 모든 필드를 선택
SELECT * FROM Customers
WHERE Country='Germany' AND City='Berlin';
2. 도시가 "Berlin" 또는 "München"인 "Customers"의 모든 필드를 선택
SELECT * FROM Customers
WHERE City='Berlin' OR City='München';
3. 국가가 "독일" 또는 "스페인"인 "고객"의 모든 필드를 선택
SELECT * FROM Customers
WHERE Country='Germany' OR Country='Spain';
4. 국가가 "독일"이 아닌 "고객"의 모든 필드를 선택
SELECT * FROM Customers
WHERE NOT Country='Germany';
5. 국가가 "독일"이고 도시가 "베를린" 또는 "뮌헨"이어야 하는 "고객"의 모든 필드를 선택
SELECT * FROM Customers
WHERE Country='Germany' AND (City='Berlin' OR City='München');
6. 국가가 "독일"이 아니고 "미국"이 아닌 "고객"의 모든 필드를 선택
SELECT * FROM Customers
WHERE NOT Country='Germany' AND NOT Country='USA';
ORER BY
결과 집합을 오름차순 또는 내림차순으로 정렬하는 데 사용
기본적으로 레코드를 오름차순으로 정렬
레코드를 내림차순으로 정렬하려면 DESC 키워드를 사용
1. "국가" 열을 기준으로 정렬된 "고객" 테이블에서 모든 고객을 선택
SELECT * FROM Customers
ORDER BY Country;
2. "국가" 및 "고객 이름" 열을 기준으로 정렬된 "고객" 테이블에서 모든 고객을 선택
(국가별로 정렬되지만, 일부 행에 동일한 국가가 있는 경우 CustomerName별로 정렬)
SELECT * FROM Customers
ORDER BY Country, CustomerName;
3. "국가" 열을 기준으로 내림차순으로 정렬된 "고객" 테이블에서 모든 고객을 선택
SELECT * FROM Customers
ORDER BY Country DESC;
4. "국가"를 기준으로 오름차순으로 정렬되고 "CustomerName" 열을 기준으로 내림차순으로 정렬된 "Customers" 테이블에서 모든 고객을 선택
(ASC -> 오름차순 / DESC -> 내림차순)
SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;
'STUDY > DataBase' 카테고리의 다른 글
SQL | DELETE (0) | 2022.11.11 |
---|---|
SQL | UPDATE (0) | 2022.11.11 |
SQL | INSERT INTO | NULL (0) | 2022.11.11 |
SQL (0) | 2022.11.11 |
RDB & NoSQL (0) | 2022.09.15 |