2020. 3. 25. 09:10ㆍSQL
SQL이란
-SQL(Structured Query Language) : 관계형 데이터베이스 관리시스템의 표준 언어
- SQL 은 대소문자를 구분하지 않지만 일반적으로 키워드는 대문자로 입력 (권장)
-SQL 문장 마지막에 ;(세미콜론) 을 입력해서 명령의 끝을 표시
-where 에서 쓰는 것 =, >, <, >=, <=, <>, BETWEEN, LIKE, IN
- <> means NOT EQAUL ( '!=' 버전에 따라 이렇게도 표기 가능)
-LIKE means search for a pattern
<null 값 검색>
필드명 is null
필드명 is not null
<테이블 생성>
create table 테이블 명( 필드명 자료형, ......);
<레코드 추가 >
insert into 테이블 명(필드명, ...) values (값, ...);
이때 필드명( 열 이름) 은 생략하고 적절한 순서로 값들을 열거할 수 있다.
<레코드 검색 >
select * from 테이블명(모든 필드 검색)
select 필드명 from 테이블명( 필드명에 해당하는 데이터 검색, 쉼표로 구분지어서 여러개 설정가능)
<where에서 or 대신에 선택한 값들만 골라서 출력>
where 필드명 in(값1, 값2)
(필드명에서 값1,2를 가지는 것을 출력)
in 앞에 not 을 붙이면 값 1,2 를 제외한 값들이 나오게 된다.
<데이터 변경>
update 테이블명 set 필드명=값, ... where 조건
delete 와 마찬가지로 where 키워드를 통해 조건을 설정 할 수 있다.
<조건 카운트>-조건에 일치할 경우 카운트 하고, 일치하지 않을 경우 카운트 하지않는다.
select count(case when 조건 then 1 end) from 테이블명
컬럼 그룹화
SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼;
조건 처리 후에 컬럼 그룹화
SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼;
컬럼 그룹화 후에 조건 처리
SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼 HAVING 조건식;
조건 처리 후에 컬럼 그룹화 후에 조건 처리
SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼 HAVING 조건식;
ORDER BY가 존재하는 경우
SELECT 컬럼 FROM 테이블 [WHERE 조건식] GROUP BY 그룹화할 컬럼 [HAVING 조건식] ORDER BY 컬럼1 [, 컬럼2, 컬럼3 ...];
<중복제거 카운트>
select count (distinct 필드명) as 원하는컬럼명 from 테이블명
SELECT calumnName FROM tableName WHERE calumnName LIKE 'A%'
'A'로 시작하는 모든 문자열
SELECT calumnName FROM tableName WHERE calumnName LIKE '%A%'
'A'가 포함된 모든 문자열(가운데만 있는거라고 헷갈리지 말 것)
SELECT calumnName FROM tableName WHERE calumnName LIKE '_A%'
두 번째 문자가 'A'인 모든 문자열
SELECT calumnName FROM tableName WHERE calumnName LIKE '[ABC]%'
첫 번째 문자가 'ABC'인 모든 문자열
SELECT calumnName FROM tableName WHERE calumnName LIKE '[A-D]%'
첫 번째 문자가 'ABCD'인 모든 문자열
SELECT calumnName FROM tableName WHERE calumnName LIKE '[^A]%'
첫번째 문자가 'A'가 아닌 모든 문자열