본문 바로가기
SQL

SQL- 연결연산자와, 논리연산, BETWEEN, IN, LIKE

by woody-j 2024. 1. 13.

1. 연결연산자

SELECT 이름 ||'학생은'||주소||'에 거주 중입니다' AS '학생 거주 정보' FROM student;

2. 논리연산

1) AND

모든 조건이 만족되어야한다.

 

1학년이면서, 마일리지 점수가 300점 이상인 경우,

SELECT * FROM student
WHERE 학년 < 2 AND 마일리지 >= 300;

 

2) OR

하나의 조건만 충족돼도 가능하다.

 

1학년이거나 마일리지 점수가 300점 이상인 경우,

SELECT * FROM student
WHERE 학년 < 2 OR 마일리지 >= 300;

 

3) NOT

NOT은 AND를 만나면 OR, OR을 만나면 AND

국가장학금과 근로장학금을 모든 받은 학생

SELECT * FROM student
WHERE 근로장학금 IS NOT NULL AND 국가장학금 IS NOT NULL
=> WHERE NOT(근장 IS NULL OR 국장 IS NULL)

 

4) IS NULL

필드의 값이 NULL인 경우를 조회하고자 할 때

- NULL : 아예 값이 없어 알 수 없는 값 (0이나 공백은 NULL이 아닙니다.)

- NULL이 아닌 값을 조회하고자 한다면 NOT연산자와 함께 IS NOT NULL 연산자를 사용

 

5) 비트 단위 논리 연산자

논리 연산을 비트 단위

 

1)AND (&)

대응되는 비트가 모두 1이어야 1을 반환

SELECT 1&0

2) OR (|)

대응되는 비트가 하나라도 1이면 1을 반환

SELECT 1|0

3) XOR (^)

대응되는 비트가 서로 다를 때 1을 반환

SELECT 1^0

 

 

3. BETWEEN

포함관계, OR은 사용이 안되고 AND만 가능

1학년 1학기 성적이 3.0이상이고 4.0 이하인 학생

SELECT 학번, 1학년1학기
FROM grade
WHERE 1학년1학기 >= 3.0 AND <=4.0:
=> WHERE 1학년1학기 BETWEEN 3.0 AND 4.0:

 

4. IN

소괄호 안에 값이 있는지 여부 확인

화학과와 물리학과인 학생

SELECT 학번, 이름, 학과
FROM Student
WHERE 학과 IN ('물리학과','화학과');

 

 

5. LIKE

서울에 거주하는 학생

SELECT *
FROM student
WHERE 주소 LIKE '서울특별시%'

'SQL' 카테고리의 다른 글

SQL- UPDATE, DELETE, TOP, LIMIT  (0) 2024.01.14
SQL- 문제 풀어보기 SELECT02  (1) 2024.01.14
SQL-문제 풀기 ISNULL  (1) 2024.01.12
SQL- 문제 풀어보기 SELECT01  (1) 2024.01.12
SQL- AS와 산술연산  (0) 2024.01.12