w3schools.com 을 참조하여 해석해본 자료입니다.
기본적으로 실행문의 결괏값은 사이트에 직접 가서 실행해보고 결과를 확인하는 것이 좋습니다.
결괏값이 너무 큰 경우 일부만 발췌하거나 기록하지 않았습니다.
The SQL LIKE Operator
LIKE 연산자는 WHERE 절에서 열의 지정된 패턴을 검색하는 데 사용됩니다.
LIKE 연산자와 함께 사용되는 두 개의 와일드카드가 있습니다.
- % - 백분율 기호는 0, 1 또는 하나 이상의 character를 나타냅니다.
- _ - 밑줄은 하나의 character를 나타냅니다.
참고 : MS Access는 밑줄 (_) 대신 물음표 (?)를 사용합니다.
% 와 ‘_’ 은 조합하여 사용할 수도 있습니다!
LIKE Syntax
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
팁 : AND 또는 OR 연산자를 사용하여 여러 조건을 결합할 수도 있습니다.
다음은 ‘%’와 ‘_‘와일드카드가 있는 다른 LIKE 연산자를 보여주는 몇 가지 예입니다:
LIKE Operator | Description |
WHERE CustomerName LIKE ‘a%’ | “a”로 시작하는 모든 값 |
WHERE CustomerName LIKE ‘%a’ | “a”로 끝나는 모든 값 |
WHERE CustomerName LIKE ‘%or%’ | “or”이 있는 모든 값 |
WHERE CustomerName LIKE ‘_r%’ | 두 번째 인덱스에 “r” 이 있는 모든 값 |
WHERE CustomerName LIKE ‘a_%_%’ | “a” 로 시작하며 최소 3글자 이상인 모든 값 |
WHERE ContactName LIKE ‘a%o’ | “a” 로 시작하여 “o” 로 끝나는 모든 값 |
SUM() Syntax
SELECT SUM(column_name)
FROM table_name
WHERE condition;
Demo Database
다음은 Northwind 샘플 데이터베이스의 “Customers”테이블에서 선택한 것입니다:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
SQL LIKE Examples
다음 SQL 문은 CustomerName이 “a”로 시작하는 모든 고객을 선택합니다.
Example
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
w3schools.com 에서 직접 실행해볼 것
Result:
Number of Records: 3
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
2 | Ana Trujillo Emparedados y helados | Juan | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Juan | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Juan | 120 Hanover Sq. | London | WA1 1DP | UK |
다음 SQL 문은 CustomerName이 “a”로 끝나는 모든 고객을 선택합니다.
Example
SELECT * FROM Customers
WHERE CustomerName LIKE '%a';
w3schools.com 에서 직접 실행해볼 것
Result:
Number of Records: 7
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
3 | Antonio Moreno Taquería | Juan | Mataderos 2312 | México D.F. | 05023 | Mexico |
13 | Centro comercial Moctezuma | Juan | Sierras de Granada 9993 | México D.F. | 05022 | Mexico |
30 | Godos Cocina Típica | Juan | C/ Romero, 33 | Sevilla | 41101 | Spain |
61 | Que Delícia | Juan | Rua da Panificadora, 12 | Rio de Janeiro | 02389-673 | Brazil |
62 | Queen Cozinha | Juan | Alameda dos Canàrios, 891 | São Paulo | 05487-020 | Brazil |
88 | Wellington Importadora | Juan | Rua do Mercado, 12 | Resende | 08737-363 | Brazil |
90 | Wilman Kala | Juan | Keskuskatu 45 | Helsinki | 21240 | Finland |
다음 SQL 문은 CustomerName이 “or”이 있는 모든 고객을 선택합니다.
Example
SELECT * FROM Customers
WHERE CustomerName LIKE '%or%'
w3schools.com 에서 직접 실행해볼 것
Result:
Number of Records: 11
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
3 | Antonio Moreno Taquería | Juan | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Juan | 120 Hanover Sq. | London | WA1 1DP | UK |
36 | Hungry Coyote Import Store | Juan | City Center Plaza 516 Main St. | Elgin | 97827 | USA |
40 | La corne d’abondance | Juan | 67, avenue de l’Europe | Versailles | 78000 | France |
43 | Lazy K Kountry Store | Juan | 12 Orchestra Terrace | Walla Walla | 99362 | USA |
52 | Morgenstern Gesundkost | Juan | Heerstr. 22 | Leipzig | 04179 | Germany |
53 | North/South | Juan | South House 300 Queensbridge | London | SW7 1RZ | UK |
55 | Old World Delicatessen | Juan | 2743 Bering St. | Anchorage | 99508 | USA |
72 | Seven Seas Imports | Juan | 90 Wadhurst Rd. | London | OX15 4NB | UK |
80 | Tortuga Restaurante | Juan | Avda. Azteca 123 | México D.F. | 05033 | Mexico |
88 | Wellington Importadora | Juan | Rua do Mercado, 12 | Resende | 08737-363 | Brazil |
다음 SQL 문은 두 번째 인덱스(위치)에 “r”이 있는 CustomerName을 가진 모든 고객을 선택합니다.
Example
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
w3schools.com 에서 직접 실행해볼 것
Result:
Number of Records: 11
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
4 | Around the Horn | Juan | 120 Hanover Sq. | London | WA1 1DP | UK |
17 | Drachenblut Delikatessend | Juan | Walserweg 21 | Aachen | 52066 | Germany |
20 | Ernst Handel | Juan | Kirchgasse 6 | Graz | 8010 | Austria |
25 | Frankenversand | Juan | Berliner Platz 43 | München | 80805 | Germany |
26 | France restauration | Juan | 54, rue Royale | Nantes | 44000 | France |
27 | Franchi S.p.A. | Juan | Via Monte Bianco 34 | Torino | 10100 | Italy |
32 | Great Lakes Food Market | Juan | 2732 Baker Blvd. | Eugene | 97403 | USA |
33 | GROSELLA-Restaurante | Juan | 5ª Ave. Los Palos Grandes | Caracas | 1081 | Venezuela |
60 | Princesa Isabel Vinhoss | Juan | Estrada da saúde n. 58 | Lisboa | 1756 | Portugal |
81 | Tradição Hipermercados | Juan | Av. Inês de Castro, 414 | São Paulo | 05634-030 | Brazil |
82 | Trail’s Head Gourmet Provisioners | Juan | 722 DaVinci Blvd. | Kirkland | 98034 | USA |
다음 SQL 문은 CustomerName이 “a”로 시작하고 길이가 3 자 이상인 모든 고객을 선택합니다.
Example
SELECT * FROM Customers
WHERE CustomerName LIKE 'a_%_%';
w3schools.com 에서 직접 실행해볼 것
Result:
Number of Records: 3
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
2 | Ana Trujillo Emparedados y helados | Juan | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Juan | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Juan | 120 Hanover Sq. | London | WA1 1DP | UK |
다음 SQL 문은 ContactName이 “a”로 시작하고 “o”로 끝나는 모든 고객을 선택합니다.
Example
SELECT * FROM Customers
WHERE ContactName LIKE 'a%o';
w3schools.com 에서 직접 실행해볼 것
Result:
No result.
다음 SQL 문은 CustomerName이 “a”로 시작하지 않는 모든 고객을 선택합니다.
Example
SELECT * FROM Customers
WHERE ContactName NOT LIKE 'a%';
w3schools.com 에서 직접 실행해볼 것
Result:(일부만 발췌)
Number of Records: 90
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
5 | Berglunds snabbköp | Juan | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
6 | Blauer See Delikatessen | Juan | Forsterstr. 57 | Mannheim | 68306 | Germany |
7 | Blondel père et fils | Juan | 24, place Kléber | Strasbourg | 67000 | France |
8 | Bólido Comidas preparadas | Juan | C/ Araquil, 67 | Madrid | 28023 | Spain |
9 | Bon app’ | Juan | 12, rue des Bouchers | Marseille | 13008 | France |
10 | Bottom-Dollar Marketse | Juan | 23 Tsawassen Blvd. | Tsawassen | T2F 8M4 | Canada |
11 | B’s Beverages | Juan | Fauntleroy Circus | London | EC2 5NT | UK |
12 | Cactus Comidas para llevar | Juan | Cerrito 333 | Buenos Aires | 1010 | Argentina |
총테이블의 개수가 90개
'프로그래밍 > SQL' 카테고리의 다른 글
[SQL] - NULL Values(NULL 값) (0) | 2020.03.17 |
---|---|
[SQL] - MIN() and MAX() Functions(MIN, MAX 함수) (0) | 2020.03.17 |
[SQL] - INSERT INTO Statement(INSERT INTO 문) (0) | 2020.03.16 |
[SQL] - IN Operator(IN 연산자) (0) | 2020.03.15 |
[SQL] - DELETE Statement(DELETE 문) (0) | 2020.03.15 |