DevSSOM

SQL - 조건 추가해서 데이터 검색하기, WHERE 본문

DataBase

SQL - 조건 추가해서 데이터 검색하기, WHERE

데브쏨 2021. 8. 26. 18:22
반응형

WHERE

: 검색하고자 하는 데이터의 조건을 설정해서 검색할 때 사용하는 명령.

 

* SELECT와 WHERE의 차이?

-> 'SELECT + 컬럼명', 'WHERE + 데이터(레코드)' 이렇게 사용함.

 

0) DESC : 테이블의 구조

DESC book;


1) 책 정보를 저장하는 book 테이블에서 작가 이름이 'Joanne Kathleen Rowling'인 책만 골라서 검색하기

 

SELECT *
FROM book
WHERE author = 'Joanne Kathleen Rowling';

 

조건이 여러 개 일 때

비교 연산자 >, <, >=, <=, =, != 와 복합조건 연산자 AND(&&), OR(||), NOT(!) 등을 사용해서 조건을 표시. 

  • BETWEEN : A BETWEEN 10 AND 20 -> A가 10과 20 사이에 포함된 값 (10, 20도 포함)
  • IN : A IN B -> B가 A에 포함된 값
  • NOT IN : A NOT IN B -> B에 A가 포함되지 않은 값 

 

1) score 테이블에서 국어(korean) 성적이 90 이상인 값 검색

SELECT *
FROM SCORE
WHERE korean >= 90;

 

2) score 테이블에서 국어(korean) 성적이 90 이상이고, 수학(math) 성적이 80 초과인 값 검색

SELECT *
FROM score
WHERE korean >= 90 AND math > 80;

 

3) score 테이블에서 수학(math) 성적이 80과 90 사이인 값 검색

SELECT *
FROM score
WHERE math BETWEEN 80 AND 90;

 

4) score 테이블에서 국어, 영어, 수학 점수 중 하나라도 100점인 학생을 검색하기

select *
from score
where korean = 100
or english = 100
or math = 100;

 

5) score 테이블에서 3과목 모두 70~95점 사이인 학생을 검색하기

select *
from score
where korean between 70 and 95
and english between 70 and 95
and math between 70 and 95;

이때, between 앞에는 = 표시를 입력하지 않는다는 것 주의!

 

 

6) employees 테이블에서 first_name이 'Chirstian' 또는 'Georgi' 이고, gender가 남자이며, hire_date가 '1986-06-26' 이 아닌 직원 검색

SELECT *
FROM employees
WHERE 
(first_name = 'Chirstian' 
OR
first_name ='Georgi') 
AND
gender = 'M' 
AND
hire_date != '1986-06-26';

 

7) book 테이블에서 다음 작가가 쓴 책들만 골라서 출력하기. William Shakespeare, John Ronald Reuel Tolkien, Joanne Kathleen Rowling

select *
from book
where author in ('William Shakespeare',
'John Ronald Reuel Tolkien', 
'Joanne Kathleen Rowling');

 

 

728x90
반응형
댓글