SQL 작성시 유의 사항
1.SQL은 대소문자를 구분하지 않음
2.SQL문은 한 행 또는 여러 행에 걸쳐 작성 가능
3.예약어는 단축하거나 행을 바꿔서 사용할 수 없음.
기본 틀의 의미
SELECT
~를 가져온다는 뜻
보통 칼럼명이 들어가나 *를 사용하면 칼럼 전체를 가져온다.
WHERE
검색조건
REGEXP_LIKE
특정 패턴과 매칭되는 결과를 검색하는 함수.(정규식에 사용된다)
정규식 기호
사용 기호 | 의미 | 사용 예 | 실습 |
^ | '첫번째 문자와 대응' | '^\d' | https://regex101.com/r/cO8lqs/2 |
$ | '마지막의 문자와 대응' | 'ab$' 는 'ad'의 'ad'와 매칭 | https://regex101.com/r/iibVIG/1 |
. | 개행 문자를 제외한 모든 단일 문자와 대응 | "." 는 'a' 'b' 'c' 'e' 등의 단일 문자와 매칭 | https://regex101.com/r/cO8lqs/5 |
[] | 해당 문자에 해당하는 한 문자 | '[a]attern' | https://regex101.com/r/HZspJP/1 |
[^] | 해당 문자에 해당하지 않는 한 문자 | '[^a-m]attern' | https://regex101.com/r/KAUoYI/1 |
| | 또는 | '(19|20)' | https://regex101.com/r/cO8lqs/3 |
* | 모든(앞의 표현식이 0회 이상 연속으로 반복되는 부분과 대응. {0,} 와 같은 의미) | 'bo*'는 "A ghost booooed"의 "boooo"와 매칭되고 "bird"의 'b'와 매칭합니다. |
https://regex101.com/r/Cw9lM3/1 |
+ | 앞의 표현식이 1회 이상 연속으로 반복되는 부분과 대응. {1,} 와 같은 의미 | 'ab+'는 "abbbc"의 "abbb"와 매칭 | https://regex101.com/r/6Ot9CJ/1 |
? | 앞의 표현식이 0 또는 1회 등장하는 부분과 대응됩니다. {0,1} 와 같은 의미 | "\.?\d*"는 '1' , ".1"에 매칭 | https://regex101.com/r/DFdGJC/1 |
사용 기호 | 의미 | 사용 예 | 실습 |
\d | 숫자의 문자형 하나와 매칭 | '\d' 는 '0' '1' '2' ... '9' 등과 매칭 | https://regex101.com/r/1H8q0k/1 |
{n,m} | n과 m은 양의 정수이고, n <= m를 만족해야 합니다. 앞 문자가 최소 n개, 최대 m개가 나타나는 부분에 매칭 | '\d{2,3}'은 "11" "111" 에 매칭 | https://regex101.com/r/c1GVur/1 |
\n | 줄바꿈 문자와 매칭 | '\n\d'는 '줄바꿈+숫자하나'에 매칭 | https://regex101.com/r/Oz9HC7/1 |
\s | 하나의 공백 문자에 대응 | '\s'는 줄바꿈 ,스페이스바 등 하나의 공백문자에 대응 | https://regex101.com/r/Ab6PhJ/1 |
[가-힝] | 한글에 대응 | '[가-힝]{2}$'는 마지막 한글2자리 문자에 대응 | https://regex101.com/r/5gFAKB/1 |
{n,} | n은 숫자, n개 이상인 것에 대응 | '\d{3,}'는 숫자가 3개 이상인 것에 대응 '[가-횡]{3,}'는 한글이 3개 이상인 것에 대응 |
https://regex101.com/r/kGFW6Z/1 https://regex101.com/r/qxIip6/1 |
숫자 정규식 사용시 유의사항
예를들어,
041-555-3333 F.041-111-2222 를 쿼리할 때,
정규식 '^[0,9]{3}-[0,9]{3}-[0,9]{4}[[:space:]}F\.[0,9]{3}-[0,9]{3}-[0,9]{4}$' 를 쓰면 쿼리가 올바르게 작동하지 않을 수 있다.
그럴 땐 '^\d{2,3}-\d{3,4}-\d{4}[[:space:]]F\.\d{2,3}-\d{3,4}-\d{4}$' 이런식으로 \d 의 숫자문자형이 필요하다.
'CS > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 관계형 데이터베이스 모델링 (0) | 2022.08.02 |
---|---|
[데이터베이스] 데이터베이스 시스템이란? (0) | 2022.07.30 |
[데이터베이스] 데이터베이스 관리 시스템(DBMS) (0) | 2022.07.29 |
[데이터베이스] 데이터 베이스란? (0) | 2022.07.28 |
[Android java] Room 다른 테이블이 리스트로 넘어오는 경우 JOIN하는 방법 (0) | 2022.01.25 |