종류 |
설명 | 구문 |
Between | - 범위조건절 - 컬럼값이 최소값-최대값 이내인 레코드를 검색 | select * from 주소록 where 나이 between '25' and '30'; |
조건검색 |
조건을 만족하는 데이터만 검색하는 SELECT문의 기본 형식 | SELECT [ALL|DISTINCT] [컬럼명] FROM [테이블명] WHERE 조건 |
LIKE |
- 검색 조건을 정확히 몰라 부분적으로 일치하는 데이터를 검색하고 싶을 때 사용 - 검색 조건을 정확히 알면 = 연산자로 조건을 표현하면 되지만 그게 아닐 경우 LIKE 사용 - % : 0개 이상의 문자(문자의 내요과 개수는 상관 없음) _(언더바): 한 개의 문자(문자의 내용은 상관 없음) | - LIKE '데이터%' : 데이터로 시작하는 문자열(데이터로 시작하기만 하면 길이는 상관 없음 - LIKE ;%데이터' : 데이터로 끝나는 문자열(데이터로 끝나기만 하면 길이는 상관 없음) - LIKE '%데이터%' : 데이터가 포함된 문자열 - LIKE '데이터_ _ _' : 데이터로 시작하는 6자 길이의 문자열 - LIKE '_ _한%' : 세번째 글자가 '한'인 문자열 |
NULL |
- 검색 조건에서 특정 속성의 값이 널 값인지를 비교하려면 IS NULL 키워드를 사용 - 마찬가지로 특정 속성의 값이 널 값이 아닌지를 비교하려면 IS NOT NULL 키워드를 사용 - 검색 조건에서 [컬럼명] = NULL의 형태로 표현하면 안 되고 반드시 IS NULL 키워드를 이용해야 된다 | - SELECT * FROM [테이블명] WHERE [컬럼명] IS NULL; - SELECT * FROM [테이블명] WHERE [컬럼명] IS NOT NULL; |
IN |
포함된 조건만 검색함 | - Select
* From [테이블명] Where [컬럼명] IN(제외할 데이터) - SELECT * FROM tbManagerAuthority WHERE AuthorityID = (SELECT AuthorityID From tbManager where ID = N'admin') |
NOT IN |
포함되지 않은 조건만 검색함 | - Select * From [테이블명] Where [컬럼명] NOT IN(제외할 데이터) - select * from ViewPolicy where pcytype NOT IN(5, 11) : 5와 11을 제외한 데이터만 검색 |
UPDATE |
테이블의 자료를 수정을 시킬 때 즉 업데이트 시 사용되는 쿼리이다. | - UPDATE [테이블명] SET [컬럼명] = '입력값' - UPDATE tbmanager SET description = 'd' WHERE id = 'mskim' - Tbmanager 테이블에 mskim이라는 아이디를 가진 값은 description 정보를 d로 업데이트함 |
DELETE |
테이블의 Row 삭제 | DELETE [테이블명] |
DROP | 테이블을 완전 삭제 | DROP TABLE [테이블명] |
CASE | - 다수 개의 조건 수식을 평가형 특정 결과 수식을 반환하는 구문 - 검색 CASE 구문: 모든 조건 수식들을 평가하여 참이면 결과 수식을 반환 | SELECT CASE [테이블컬럼명] WHEN '[해당테이블컬럼값] THEN '[변경할 컬럼값]' ELSE '[else 처리시 변경할 값]' END FROM [테이블명] |
IF … ELSE | - T-SQL문장의 실행 조건을 지정할 수 있는 구문 IF 조건문(부울 식)의 결과가 참이면 조건 문 다음의 문장을 수행하고 그렇지 않으면 ELSE 다음의 문장을 수행한다 | |
COUNT (집계 함수) | 해당 데이터의 개수를 출력한다 | - SELECT
COUNT (컬럼명) FROM [테이블명] - SELECT COUNT (*) FROM tbManagerAuthority |
WITH |
- WITH 구문내의 쿼리의 결과(Sub쿼리)가 여러 번 사용될때(호출될때) 유용하다. - 서브쿼리 블럭에 이름을 지정할 수 있도록 해줌 | WITH Alias명 AS (Sub쿼리) SELECT [컬럼명] FROM Alias명; |
REPLACE | 문자열을 다른 문자열로 바꾸는 함수 | - REPLACE(대상컬럼, 찾을문장, 바꿀문장) - SELECT REPLACE([해당컬럼], 'aa', 'bb) FROM tbmanager |
ORDER
BY (정렬 검색) | SELECT 문의 검색 결과 테이블은 일반적으로 DBMS가 정한 순서로 출력된다. 결과 테이블의 내용을 사용자가 원하는 순서로 출력하려면 ORDER BY 키워드를 사용한다. | - SELECT [컬럼명] FROM [테이블명] ORDER BY [컬럼명] [ASC|DESC] - [ASC|DESC] 명시 하지 않을 경우 기본 Default 값은 ASC(오름차순)이다 - SELECT * FROM tbenvconsole envid ORDER BY envid ASC |
DISTINCT | 중복되는 컬럼값 제거 | SELECT DISTINCT 속성_리스트 FROM 테이블_리스트 |
ALL | 전체 해당 컬럼값 보여줌 | SELECT ALL 속성_리스트 FROM 테이블_리스트 |
AS 키워드 | AS 키워드의 앞에는 바꾸고 싶은 열이름, 뒤에는 새로운 이름을 적어면 된다 | - SELECT [열이름] AS [새로운 열이름] FROM [테이블명] - SELECT version as tt FROM tbengcmpversion - SELECT vsersion "tt" FROM tbengcmpversion 위 와 동일함 |
산술식 | - 산술 연산자와 상수로 산술식을 제시할 수 있다 - 속성의 값이 실제로 변경되는 것은 아니고 결과 테이블에서만 계산한 결과 값을 출력한 것이다 | SELECT [열이름] [+, -, *, /] FROM 테이블명 |
SUM | - 속성 값의 합계 - 사용 가능한 속성의 타입: 숫자 데이터 | SELECT SUM(열이름) FROM 테이블명 |
AVG (집계 함수) |
- 속성 값의 평균 - 사용 가능한 속성의 타입: 숫자 데이터 | SELECT AVG(열이름) FROM 테이블명 |
LIMIT | - 몇 개의 행을 반환할지 정하는 키워드 - 오프셋은 0 부터 시작하는 반면에 반환하는 행의 수는 1부터 시작 - MySQL에만 해당(MS-SQL안됨) - LIMIT 3, 5 -> 첫번째3 offset 시작지점, 두번째 5 rows 행의 갯수 | SELECT * FROM [테이블명] LIMIT [행의 시작점, 행의 갯수] |
집계 함수 | - 집계 함수는 널인 속성 값은 제외하고 계산한다 - 집계 함수는 Where 절에서는 사용할 수 없고 Select 절이나 Having 절에서만 사용할 수 있다 | |
CAST | CAST 연산자를 SELECT 문에서 어떤 값의 데이터 타입을 다른 데이터 타입으로 명시적으로 변환하는 데 사용할 수 있다. 조회 리스트 또는 WHERE 절의 값 수식을 다른 데이터 타입으로 변환할 수 있다. | SELECT CAST(컬럼명 AS 데이터타입) |
ISNULL() | - ISNULL 함수에 첫번째 인자는 컬럼값이 들어가며 2번째 인자에는 교체할 값을 넣는다. - 첫번째 인자에 값이 NULL일 경우 교체값으로 대처 한다 | SELECT ISNULL(컬럼명, 교체값) FROM [테이블명] |
< , > , = , <> | - SELECT * FROM [테이블명] WHERE [컬럼명] < 0 컬럼값이 0보다 작은 행만 검색 - SELECT * FROM [테이블명] WHERE [컬럼명] > 0 컬럼값이 0보다 큰 행만 검색 - SELECT * FROM [테이블명] WHERE [컬럼명] = 0 컬럼값이 0인것만 검색 - SELECT * FROM [테이블명] WHERE [컬럼명] <> 0 컬럼값이 0을 제외한 값만 검색 |
'DB' 카테고리의 다른 글
[DB] AWS vs. 애저 vs. 구글"··· 클라우드 무료 티어 비교 (0) | 2018.07.30 |
---|---|
[DB] 클라우드 DB 종류 (0) | 2018.07.30 |
[PGSQL] now(), clock_timestamp(), current_timestamp 차이 (0) | 2018.07.03 |
[Oracle] WITH가 성능에 미치는 영향 (0) | 2018.07.03 |
[DB] Mssql, mysql, oraclem 차이 (0) | 2018.06.27 |