프로덕트 스페이스
    • 분류 전체보기
      • WEB
      • SQL
      • 짧데이터
      • 참고자료
    공지사항
    방명록
    SQL 기초 WHERE 절 및 연산자SQL / 2022. 6. 3. 04:30

     

     

    WHERE

    일반적으로 SELECT 와 FROM 만으로 SQL 문을 작성하면, 모든 데이터가 조회되어 서버 부하를 일으킬 수 있습니다.

    또, 원하는 조건의 레코드만 조회하고 싶은 경우가 대부분이기 때문에 WHERE 절을 활용하여 레코드를 필터링할 필요가 있습니다.

    id name age gender
    1 가이름 20 남성
    2 나이름 21 여성
    3 다이름 22 남성

     

     

    예제의 users 테이블에서 gender 가  남성 인 경우 모든 컬럼을 조회하고 싶다면, 아래와 같이 입력하면 됩니다.

    SELECT *
    FROM users
    WHERE gender = "남성";

     

    이 SQL 문에 대한 결과 값은 다음과 같습니다.

    id name age gender
    1 가이름 20 남성
    3 다이름 22 남성

     

     

     

    연산자

    WHERE 절은 연산자와 함께 사용됩니다.

    연산자에는 비교연산자 ,  SQL연산자 , 논리연산자 가 있습니다.

    비교연산자
    연산자 설명 예시
    = 같다. 컬럼 = 10
    > 보다 크다. 컬럼 > 30
    >= 보다 크거나 같다. 컬럼 >= "2022-12-31"
    < 보다 작다. 컬럼 < "2020-12-31"
    <= 보다 작거나 크다. 컬럼 <= 5
    != 같지 않다. 컬럼 != "남성"
    ^= 같지 않다. 컬럼 ^= "김이름"
    <> 같지 않다. 컬럼 <> 10
    NOT 칼럼 = ~와 같지 않다. NOT 컬럼 = 100
    NOT 칼럼 > ~보다 크지 않다. NOT 컬럼 > 100

     

    SQL연산자

    * NULL 값이 있는 필드는 값이 없는 필드입니다.

    연산자 설명 예시
    BTWEEN A AND B A와 B 사이에 있다. 컬럼 BTWEEN 1 AND 3 
    IN () 리스트 중 하나라도 일치한다. 컬럼 IN ( 1,2,3 )
    LIKE 비교문자열과 형태가 일치한다. 컬럼 LIKE "김이름"
    IS NULL NULL 값이다. 컬럼 IS NULL
    NOT BETWEEN A AND B A와 B 사이에 있지 않다. 컬럼 NOT BTWEEN 1 AND 3
    NOT IN () 비교문자열과 일치하지 않는다. 컬럼 NOT IN ( 1,2,3 )
    IS NOT NULL NULL 값을 갖지 않는다. 컬럼 IS NOT NULL

     

    논리연산자
    연산자 설명 예시
    AND A조건과 B조건이 모두 충족된다. 조건 AND 조건
    OR A조건과 B조건 중 하나라도 충족된다. 조건 OR ( 조건 )
    NOT B조건이 아닐 때 레코드를 조회한다. WHERE NOT 조건

     

     

     

    다시 예제의 users 테이블에서 몇 가지 예제를 만들어 보겠습니다.

    id name age gender
    1 가이름 20 남성
    2 나이름 21 여성
    3 다이름 22 남성

     

    name 이  가이름 인 레코드의 모든 컬럼을 조회하려면, 다음과 같이 입력합니다.

    SELECT *
    FROM users
    WHERE name = "가이름";

     

    이 SQL 문에 대한 결과 값은 다음과 같습니다.

    id name age gender
    1 가이름 20 남성

     

     

    age 가  20 이거나 21 인 레코드의  id 및  name 을 조회하려면, 다음과 같이 입력합니다.

    SELECT id, name
    FROM users
    WHERE age = 20
    OR (age = 21);

     

    이 SQL 문에 대한 결과 값은 다음과 같습니다.

    id name age gender
    1 가이름 20 남성
    2 나이름 21 여성

     

     

    age 가  20 과 21  사이에 있는 레코드의 gender 를 조회하려면, 다음과 같이 입력합니다.

    SELECT gender
    FROM users
    WHERE age BETWEEN 20 AND 21;

     

    이 SQL 문에 대한 결과 값은 다음과 같습니다.

    id name age gender
    1 가이름 20 남성
    2 나이름 21 여성

     

     

    이러한 조건을 동시에 충족하는 값을 조회하려면, AND 를 사용합니다.

    SELECT * 
    FROM users
    WHERE name = “가이름”
    AND age BETWEEN 20 AND 21;

     

    이 SQL 문에 대한 결과 값은 다음과 같습니다.

    id name age gender
    1 가이름 20 남성

     

     

     

    모든 조건을 충족하는 레코드가 하나도 없는 경우, 조회 결과가 빈 값으로 나오게 됩니다.

     

     

     

     

    'SQL' 카테고리의 다른 글

    SQL 기초 IN, BTWEEN 연산자  (0) 2022.06.03
    SQL 기초 LIKE 연산자 및 와일드카드  (0) 2022.06.03
    SQL 기초 MIN, MAX, COUNT, AVG, SUM 함수  (0) 2022.06.03
    SQL 기초 ORDER BY, GROUP BY 절  (0) 2022.06.03
    SQL 기초 문법 및 기본 개념  (0) 2022.06.02
    COMMENT

TOP

티스토리툴바