Database_SQL_Function2
LIKE
- "query data based on pattern matching"
- 패턴 일치를 기반으로 데이터를 조회하는 방법
- SQLite는 패턴 구성을 위한 2개의 wildcards를 제공
- %(percentsign)
- 0개 이상의 문자
- _(underscore)
- 임의의 단일 문자
- %(percentsign)
wildcard character
- 파일을 지정할 때, 구체적인 이름 대신에 여러 파일을 동시에 지정할 목적으로 사용하는 특수 기호
- *, ? 등
- 주로 특정한 패턴이 있는 문자열 혹은 파일을 찾거나, 긴 이름을 생략할 때 쓰임
- 텍스트 값에서 알 수 없는 문자를 사용할 수 있는 특수 문자로, 유사하지만 동일한 데이터가 아닌 여러 항목을 찾기에 매우 편리한 문자
- 지정된 패턴 일치를 기반으로 데이터를 수집하는데도 도움이 될 수 있음
SELECT * FROM 테이블 WHERE 컬럼 LIKE '와일드카드패턴';
- %
- 이 자리에 문자열이 있을 수도, 없을 수도 있다.
- _
- 반드시 이 자리에 한개의 문자가 존재해야 한다.
사용예시
와일드카드패턴 | 의미 |
---|---|
2% | 2로 시작하는 값 |
%2 | 2로 끝나는 값 |
%2% | 2가 들어가는 값 |
_2% | 아무 값이 하나 있고 두 번째가 2로 시작하는 값 |
1____ | 1로 시작하고 총 4자리인 값 |
2_%_% / 2__% | 2로 시작하고 적어도 3자리인 값 |
- users 테이블에서 나이가 20대인 사람만 조회
SELECT * FROM users WHERE age LIKE '2_'
- users 테이블에서 지역 번호가 02인 사람만 조회
SELECT * FROM users WHERE phone LIKE '02-%'
- users 테이블에서 이름이 '준'으로 끝나는 사람만 조회
SELECT * FROM users WHERE first_name LIKE '%준';
- users 테이블에서 중간 번호가 5114인 사람과 조회한다면?
SELECT * FROM users WHERE phone LIKE '%-5114-%'
ORDER BY
-
"sort a result set of a query"
-
조회 결과 집합을 정렬
-
SELECT 문에 추가하여 사용
-
정렬 순서를 위한 2개의 keyword 제공
- ASC - 오름차순(default)
- DESC - 내림차순
-
users에서 나이 순으로 오름차순 정렬하여 상위 10개만 조회하기
SELECT * FROM users ORDER BY age ASC LIMIT 10;
- users에서 나이 순, 성순으로 오름차순 정렬하여 상위 10개만 조회하기
SELECT * FROM users ORDER BY age,last_name ASC LIMIT 10;
GROUP BY
-
"make a set of summary rows from a set of rows"
-
행 집합에서 요약 행 집합을 만듬
-
SELECT 문의 optional 절
-
선택된 행 그룹을 하나 이상의 열 값으로 요약 행으로 만듬
-
문장에 WHERE 절이 포함된 경우 반드시 WHERE 절 뒤에 작성해야함
-
지정된 기준에 따라 행 세트를 그룹으로 결합
-
데이터를 요약하는 상황에 주로 사용
SELECT 컬럼1, aggregate_function(컬럼2) FROM 테이블 GROUP BY 컬럼1, 컬럼2;
- users에서 각 성씨가 몇 명씩 있는지 조회한다면?
SELECT last_name, COUNT(*) FROM users GROUP BY last_nmae;
- AS를 활용해서 COUNT에 해당하는 컬럼 명을 바꿔서 조회할 수 있음
SELECT last_name, COUNT(*) AS name_count FROM users GROUP BY last_name;
ALTERTABLE
ARTER TABLE의 3가지 기능
-
table 이름 변경
ALTER TABLE 기존테이블이름 RENAME TO 새로운테이블이름;
-
테이블에 새로운 column 추가
-
ALTER TABLE 테이블이름 ADD COLUMN 컬럼이름 데이터타입설정;
-
ALTER TABLE news ADD COLUMN created_at TEXT NOT NULL;
-
-
[참고] column 이름 수정 (new in sqlite 3.25.0)
ALTER TABLE table_name RENAME COLUMN current_name TO new_name;
주의
- ALTER TABLE에 새로 컬럼을 추가할 때 기존에 데이터들이 있기 때문에 에러가 발생
- 해결방법
- NOT NULL 설정 없이 추가하기
- 기본값 설정하기
Author And Source
이 문제에 관하여(Database_SQL_Function2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@holawan/DatabaseSQLFunction2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)