SQL,Database

별명 붙이기, WHERE, 논리연산자

seungmin576 2024. 11. 21. 17:17

sql이란 데이터베이스와 대화하기 위한 언어이다.

query란 sql을 사용하여 데이터베이스에 요청하는 질의를 의미한다.

 

  • 별명 붙이기
SELECT
//전부는 *
EMAIL AS "E-MAIL",  //하이푼 특수기호로 인해 ""사용 AS는 써도되고 안써도 됨
NAME "이름", //한글이라 ""사용
AGE NA_E  //영어와 언더바는 그냥 써도 됨.
FROM CUSTOMER

 

  • WHERE

조건을 줄 때 사용 FROM 절 뒤에 옴(필터링)

비교연산자 사용 가능한데 같지 않다는 <>로 표현.

ex)  age <> 21

 

 

BETWEEN

A와 B 사이

WHERE ??? BETWEEN ?? AND ??

SELECT

*

FROM customers

WHERE age BETWEEN 21 AND 23

CUSTOMERS 테이블의 모든 컬럼을 보여줘.

조건은 AGE 컬럼에서 21부터 23 사이인 데이터.

 

 

 

IN

포함하는 것

WHERE ?? IN ('???', '???', 123123) 숫자는 ' 안씀

SELECT

*

FROM customers

WHERE name IN ('윤주아', '정현준')

커스토머 테이블의 모든 컬럼을 보여줘.

조건은 네임 컬럼에서 윤주아 정현준 포함.

 

 

LIKE

비슷한 값 찾기

 

특정문자를 포함한 시작은

WHERE ?? LIKE '??%'     

%가 글 뒤에 붙음

 

중간에 포함은

WHERE ?? LIKE '%???%'

특정 문자 앞뒤 둘다 %가 붙음

 

끝에 포함은

WHERE ??? LIKE '%???'

특정문자 앞에 %가 붙음

SELECT

*

FROM customers

WHERE name LIKE '김%'

 

커스토머의 모든 컬럼을 보여줘

조건은 네임 컬럼에서 김으로 시작하는 데이터.

 

 

AND

그리고

SELECT

*

FROM customers

WHERE age >= 21 AND

gender = 'MALE'

커스토머 테이블의 모든 컬럼을 보여줘

조건은 나이가 21이상이거나 성별이 남자.

 

 

 

OR

또는

SELECT 
	*
FROM payments
WHERE pay_type = 'CARD' OR
vat <= 0.2

페이먼트 테이블의 모든 컬럼을 보여줘

조건은 페이타입 컬럼이 카드 이거나 VAT가 0.2 이하인 경우

 

 

 

NOT

아닌

 

SELECT
	*
FROM CUSTOMERS
WHERE NOT AGE = 21

커스토머스 테이블의 모든 컬럼을 보여줘

조건은 나이가 21이 아닌 데이터.