728x90

 

🎈 Where 절

SQL의 WHERE 절은 데이터베이스에서 특정 조건을 충족하는 행만을 선택하기 위해 사용됩니다. WHERE 절은 SELECT, UPDATE, DELETE 문에서 사용될 수 있습니다.

  • 가져올 데이터의 조건(filter)을 컴퓨터에게 알려주는 라인입니다. ( 데이터가 너무 많아, 다 불러오려면 과부하가 될 수 있기 때문입니다.)
  • 한 개 이상의 조건을 작성할 수 있으며, And와 Or 조건들을 구분하여 조건을 설정할 수 있습니다. 작성하는 방식은 , “WHERE 컬럼명 연산자 조건”의 순서로 적어줍니다. (데이터는 ‘ ‘ 안에 작성! ) Ex) - 도시가 'Seoul'이고 직업이 'Developer'인 사용자를 선택하는 예시
    SELECT * FROM users WHERE city = 'Seoul' AND occupation = 'Developer';

 

        --문제 6. Customers 테이블에서 Mexico에 사는 사람들 정보를 추출해주세요.
        select * 
            from Customers
            where Country != 'Mexico';
        --column에 들어있는 값들은 전부 문자열로 저장되어 있기 때문에, 찾고자하는 데이터도 ' ' 로 감싸서 작성해야합니다.

        --문제 7. Customers 테이블에서 Mexico에 살지 않는 회원들의 정보를 추출하세요.
        select * 
            from Customers
            where Country != 'Mexico';

        --문제 8. 국가이름이 "S"로 시작하는 국가에 거주하는 사람들 정보를 모두 추출해주세요
        select * 
            from Customers
            where country like "s%";

        --문제 8-2. "S"로 시작하지 않는 국가에 거주하는 사람들 정보 (like와 반대!)
        select * 
            from Customers
            where country not like "s%";

        --문제 8-3. 회원 중 나라 이름의 마지막 알파벳이 A로 끝나는 국가에 거주 중인 사람 정보를 모두 추출해주세요

            like 연산자 사용 예제
            -- 이름이 'John'으로 시작하는 사용자를 선택하는 예시
            SELECT * FROM users WHERE name LIKE 'John%';

            -- 이메일이 '@gmail.com'으로 끝나는 사용자를 선택하는 예시
            SELECT * FROM users WHERE email LIKE '%@gmail.com';

            -- 이름이 'J_n'과 같은 형식의 사용자를 선택하는 예시 (J 다음에 한 글자와 n으로 끝나는 경우)
            SELECT * FROM users WHERE name LIKE 'J_n';

 

  • LIKE 연산자는 특정 문자열 패턴 매칭을 위해 사용됩니다. LIKE 연산자는 특정 패턴과 일치하는 값을 선택하기 위해 WHERE 절과 함께 사용됩니다.%: 0개 이상의 문자와 일치합니다. _: 단일 문자와 일치합니다. []: 지정된 범위 내의 문자와 일치합니다. 예를 들어 **[abc]**는 'a', 'b', 'c' 중 하나와 일치합니다. [^]: 지정된 범위 외의 문자와 일치합니다. 예를 들어 [^abc]는 'a', 'b', 'c' 이외의 문자와 일치합니다.
  • **pattern**에는 와일드카드 문자를 사용할 수 있습니다. 정규표현식이라는 문자를 다룰 수 있는 사항이 입력됩니다. 주요 와일드카드 문자는 다음과 같습니다

 

🎈 Order by절 - order by ‘key(컬럼명)’ (asc/desc)

ORDER BY 구문은 SQL에서 사용되는 명령문으로, 가져온 데이터의 결과를 순서대로 정렬해주는 명령을 작성해주는 라인이며, 정렬 기준을 지정하는데 사용됩니다.
결과 집합을 특정 열(또는 열들)의 값에 따라 오름차순(ASC) 또는 내림차순(DESC)으로 정렬할 수 있습니다. 디폴트 값이 오름차순(asc)이기때문에, 조건부에 아무것도 안 적을 시 자동으로 오름차순 정렬을 수행합니다.
다중조건 , 즉 두 가지 이상의 컬럼에 조건을 줄 수 있습니다. ex) order by colum1 asc, coulm2 desc

ORDER BY 구문은 SELECT 문에서 마지막에 추가되며, 쿼리 결과의 정렬된 순서로 데이터를 반환합니다. 컴퓨터는 A,B,C.. 등을 출력할 때 문자를 숫자로 인식하여(아스키코드) 크기를 비교할 수 있습니다.

 

        SELECT *
            FROM customers
            order by country asc -> 오름차순 A-Z순서로 나라이름이 정렬됩니다.
            limit 10
            ;
            order by 7 desc -> 7번째 컬럼인 country를 기준으로 내림차순으로 정렬하였습니다.
        컬럼을 가지고 정렬을 하지만 컬럼의 이름은 모르고 위치만 알 때 사용하는 방법도 있습니다. 컬럼의 위치에 따라서 숫자를 입력하여 해당 컬럼을 지정할 수 있습니다.

 

 

728x90
반응형

'[ DATABASE]' 카테고리의 다른 글

[SQL] SQL이란?  (0) 2023.06.27

+ Recent posts