반응형
SQL문 실습 - WHERE(1)의 글에 이어서 WHERE구문에 대해서 알아보겠습니다.
이전 글 : SQL문 실습 - WHERE(1)
--> IN을 사용해서 해당 조건에 만족하는 데이터들을 가져올 수 있습니다.
1. Search Customers
(only CustomerID, Country, City, ContactTitle column)
(And Country is "France" and City is "Paris" or "Lyon")
------------------------------------------------------------------------------
1
2
3
|
SELECT CustomerID, Country, City, ContactTitle
FROM Customers
WHERE Country = 'France' AND City IN ('Paris', 'Lyon')
|
cs |
2. Search Customers
(CotactTitle is "Marketing Manager" and Country is "USA" and City is "Portland" or "Walla Walla")
(Only CustomerID, Country, City, ContactTitle column)
------------------------------------------------------------------------------
1
2
3
4
5
|
SELECT CustomerID, Country, City, ContactTitle
FROM Customers
WHERE ContactTitle = 'Marketing Manager'
AND Country = 'USA'
AND City IN('Portland', 'Walla Walla')
|
cs |
--> (>, <, >=, <=) 등의 부등호를 통해서 해당하는 값보다 크거나 작은 조건을 만족하는 데이터를 불러옵니다.
3. Search Orders(OrderDate is bigger or equal than 1997-01-01)
------------------------------------------------------------------------------
1
2
3
|
SELECT *
FROM Orders
WHERE OrderDate >= '1997-01-01'
|
cs |
O4. Searh Orders(OrderDate is bigger or equal than 1997-01-01
and OrderDate is smaller than 1997-02-01(not include 1997-02-01))
------------------------------------------------------------------------------
1
2
3
|
SELECT *
FROM Orders
WHERE OrderDate >= '1997-01-01' AND OrderDate < '1997-02-01'
|
cs |
5. Search Orders
CustomerID is EASTC
OrderDate is bigger or equal than 1997-01-01
and OrderDate is smaller than 1997-02-01(not include 1997-02-01)
------------------------------------------------------------------------------
1
2
3
4
5
|
SELECT *
FROM Orders
WHERE CustomerID = 'EASTC'
AND OrderDate >= '1997-01-01'
AND OrderDate < '1997-02-01'
|
cs |
--> BETWEEN을 활용하면 값 사이에 있는 조건을 만족하는 데이터를 가져올 수 있습니다.
--> BTEWEEN은 <=, >= 조건과 같습니다.
6. Search Orders
Freight is bigger or equal than 100
And Freight is smaller or equal than 200
Only Freight, CustomerID, OrderDate column
Use BETWEEN condition
------------------------------------------------------------------------------
1
2
3
|
SELECT Freight, CustomerID, OrderDate
FROM Orders
WHERE Freight BETWEEN 100 AND 200
|
cs |
--> LIKE 'A%'는 A로 시작하는 모든 값들의 데이터를 가져온다.
--> 이와 비슷하게 '%A'는 A로 끝나는 모든 값들의 데이터를 가져온다.
--> '%A%'의 경우 중간에 A가 들어간 모든 값들의 데이터를 가져온다.
--> 실제로 굉장히 많이 사용하는 LIKE입니다. 꼭 알아둡시다.
7. Search Customers
CustomerID Like A%
------------------------------------------------------------------------------
1
2
3
|
SELECT *
FROM Customers
WHERE CustomerID LIKE 'A%'
|
cs |
8. Search Customers
ContactTitle Like Sales%
------------------------------------------------------------------------------
1
2
3
|
SELECT *
FROM Customers
WHERE ContactTitle LIKE 'Sales%'
|
cs |
--> ISNULL(컬럼명, 값)을 사용하면 컬럼명이 NULL인 경우 값으로 해당 내용을 교체시킬 수 있다.
9. Search Customers
Region is NULL
And Country is Mexico
Only CustomerID and Country, City, Region column
and When Region column is NULL, Region change to ''
------------------------------------------------------------------------------
1
2
3
4
5
6
7
8
9
|
SELECT CustomerID, Country, City, ISNULL(Region, '') Region
FROM Customers
WHERE ISNULL(Region, '') = ''
AND Country = 'Mexico'
SELECT CustomerID, Country, City, ISNULL(Region, '') Region
FROM Customers
WHERE Region IS NULL
AND Country = 'Mexico'
|
cs |
이처럼 WHERE구문에서는 다양한 함수들을 통해서 다양한 조건들을 검색해서 데이터를 표시할 수가 있습니다.
여기까지 WHERE구문에 대한 실습을 마치겠습니다.
다음 글에서는 조회된 프로그램을 정렬해주는 구문인 ORDER BY에 대해서 설명해보겠습니다.
다음 글 : SQL문 실습 - ORDER BY
참고 : SQL Server 기본SQL문 교육
반응형
그리드형
'프로그래밍 > MS-SQL' 카테고리의 다른 글
SQL문 실습 - String Function(1) (0) | 2016.04.13 |
---|---|
SQL문 실습 - ORDER BY (0) | 2016.04.13 |
SQL문 실습 - WHERE(1) (0) | 2016.04.13 |
SQL문 실습 - SELECT(1) (0) | 2016.04.13 |
MS-SQL bak파일 복원하기 (0) | 2016.04.13 |