Tiny Finger Point Hand With Heart
본문 바로가기
DataBase

[SQL] WHERE절

by yoondii 2023. 3. 3.
728x90
반응형

 

WHERE

--기본설정
-- TABLE users 생성
CREATE TABLE users (
first_name TEXT NOT NULL,
last_name TEXT NOT NULL,
age INTEGER NOT NULL,
country TEXT NOT NULL,
phone TEXT NOT NULL,
balance INTEGER NOT NULL
);

--csv파일 정보를 테이블에 적용하기
.mode csv
.import users.csv users
.tables
--특정 조건으로 데이터 조회하기
SELECT * FROM 테이블이름 WHERE 조건;

-- users 테이블에서 age가 30 이상, 성이 ‘김’인 사람의 나이와 이름만 조회하려면? 
SELECT age, first_name FROM users
WHERE age >= 30 AND last_name='김';

WHERE절에서 사용할 수 있는 연산자

  • 비교 연산자
    • =, >, >=, <, <= 는 숫자 혹은 문자 값의 대/소, 동일 여부를 확인하는 연산자
  • 논리 연산자
    • AND : 앞에 있는 조건과 뒤에 오는 조건이 모두 참인 경우
    • OR : 앞의 조건이나 뒤의 조건이 참인 경우
    • NOT : 뒤에 오는 조건의 결과를 반대로
--주의!! 조건설정 잘하기!

-- 1. 키가 175이거나, 키가 183이면서 몸무게가 80인 사람
WHERE HEIGHT = 175 OR HEIGHT = 183 AND WEIGHT = 80

-- 2. 키가 175 또는 183인 사람 중에서 몸무게가 80인 사람
WHERE (HEIGHT = 175 OR HEIGHT = 183) AND WEIGHT = 80

 


SQL 사용할 수 있는 연산자

  • BETWEEN 값1 AND 값2
    • 값1과 값2 사이의 비교 (값1 <= 비교값 <= 값2)
  • IN (값1, 값2, …)
    • 목록 중에 값이 하나라도 일치하면 성공
  • LIKE
    • 비교 문자열과 형태 일치
    • 와일드카드 (% : 0개 이상 문자, _ : 1개 단일 문자)
  • IS NULL / IS NOT NULL
    • NULL 여부를 확인할 때는 항상 = 대신에 IS를 활용
  • 부정 연산자
    • 같지 않다. (!=, ^=, <>)
    • ~와 같지 않다. (NOT 칼럼명 =)
    • ~보다 크지 않다. (NOT 칼럼명 >)
    WHERE 칼럼명1 != 비교값1
    AND 칼럼명2 ^= 비교값2
    AND 칼럼명3 <> 비교값3
    AND NOT 칼럼명4 = 비교값4
    AND NOT 칼럼명5 > 비교값5; 
    

연산자 우선순위

• 1순위 : 괄호 ()

• 2순위 : NOT

• 3순위 : 비교 연산자, SQL

• 4순위 : AND

• 5순위 : OR

728x90
반응형

댓글