SQL 문법

2020. 3. 25. 09:10SQL

반응형

 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'가 아닌 모든 문자열 

 

 

 

 

 

 

 

 


반응형