SQL (Comparision / Logical Operations)

·2023년 4월 27일
0

SQL

목록 보기
3/11

📌 Comparision Operations

  • 비교 연산자로, where 조건문에 넣어서 사용한다.




📌 Logical Operations

논리 연산자로, 종류는 더 많지만 가장 많이 사용하는 연산자부터 정리해보자.

1) 데이터베이스에 mydb가 있는지 확인
2) mydb로 이동
3) mydb에 있는 테이블 확인
4) celeb 테이블의 데이터 조회

다음의 과정은 동일하다

📒 AND

select column1, column2, ... from table_name
where condition1 and condition2 and condition3, ...;

조건 condition1, 2, 3, 를 모두 만족해야 한다.
만약, 세 가지 조건 중 하나라도 만족하지 않으면 True 가 반환되지 않기 때문에 데이터가 조회되지 않는다.


📒 OR

select column1, column2, ... from table_name
where condition1 or condition2 or condition3, ...;

하나의 조건이라도 만족하면, True가 반환되어 조건에 맞는 데이터가 조회된다.


📒 NOT

select column1, column2, ... from table_name
where not condition;

조건을 만족하지 않으면, True가 반환되어 조건에 맞는 데이터가 조회된다.


📒 BETWEEN

select column1, column2, ... from table_name
where column between value1 and value2;

column 값이 value1 와 value2 사이에 있다면, True가 반환되어 조건에 맞는 데이터가 조회된다.


📒 IN

select column1, column2, ... from table_name
where column in (value1, value2, ...);

column 값이 목록 안에 존재하는 경우, True가 반환되어 조건에 맞는 데이터가 조회된다.

OR 연산자를 이용해도 결과가 같다.


📒 LIKE

select column1, column2, ... from table_name
where column like 'pattern';

column 값이 패턴에 맞으면, True가 반환되어 조건에 맞는 데이터가 조회된다.


  • 'A'로 시작하는 데이터 : 'A%'
  • 'X'로 끝나는 데이터 : '%X'
  • 'B'를 포함한 데이터 : '%B%'
  • 두 번째 글자가 'Y'인 데이터 : '_Y%'
  • '가'로 시작하고 최소 2글자 이상인 데이터 : '가_%'
  • '가'로 시작하고 최소 5글자 이상인 데이터 : '가____%'
  • '가'로 시작하고 '우'로 끝나는 데이터 : '가%우'
  • 컬럼 값이 두 개라면 : '%, %'

1) celeb 테이블에서 직업중 가수가 포함되어 있고 성이 이씨인 데이터 조회하세요.

2) celeb 테이블에서 성별이 남자 이거나 직업명이 ‘텔런트’ 로 끝나면서 최소 5글자 이상인 데이터를 조회하세요.

3) celeb 테이블에서 이름이 두글자인 데이터를 조회하세요.

4) celeb 테이블에서 나이가 30세 이상 50세 이하면서 개그맨이 아닌 데이터를 조회하세요.

5) celeb 테이블에서 아이유, 이미주, 유재석, 송강 중에 소속사 이름이 ‘나무’로 시작하는 데이터를 조회하세요.

⭐ 6) celeb 테이블에서 아이유, 이미주, 송강, 이수현 중에 가수만 직업으로 가졌거나,
가수를 병행하지 않고 텔런트를 하는 사람을 찾으세요.

select * from celeb where name in ('아이유', '이미주', '송강', '이수현') 
and (job_title like '가수' or job_title like '배우');

이렇게 해도 결과값은 똑같다. 여러가지 방법을 알아두자 !




0개의 댓글