Computer >> 컴퓨터 >  >> 프로그램 작성 >> SQL

SQL WHERE 문:방법 가이드

SQL WHERE 절은 명령에 의해 반환되거나 영향을 받는 레코드 수를 제한합니다. SELECT, UPDATE 및 DELETE 절과 함께 사용됩니다. AND 키워드를 사용하여 명령의 영향을 받는 레코드가 충족할 여러 조건을 지정할 수 있습니다.

특정 조건을 사용하여 쿼리 결과를 필터링할 수 있습니다. 예를 들어 영업 관리자인 직원 목록을 가져올 수 있습니다. 또는 특정 날짜 이후에 회사에서 누가 일하기 시작했는지 알고 싶을 수도 있습니다.

WHERE 절을 사용하여 SQL 명령을 실행하는 동안 특정 레코드를 필터링할 수 있습니다. 이 문은 SELECT, UPDATE 및 DELETE 절과 함께 사용할 수 있습니다. 이 가이드에서는 WHERE 절을 사용하여 SQL에서 레코드를 필터링하는 방법을 다룰 것입니다.

SQL WHERE 절

SQL WHERE 절은 특정 조건 또는 조건 집합을 충족하는 레코드를 필터링합니다. WHERE 절은 SQL 문에서 "FROM" 절 뒤에 옵니다.

다음은 이 명령문의 구문입니다.

SELECT * FROM table WHERE column comparison value;

"SELECT * FROM 테이블"은 표준 선택 쿼리입니다. WHERE 문을 사용하여 쿼리가 반환하는 레코드를 제한합니다. "열"은 조건이 충족되어야 하는 열을 나타냅니다. "비교"와 "값"은 우리가 만들고자 하는 비교를 나타냅니다.

잠재적 비교는 다음과 같습니다.

WHERE name == "Jeff";
WHERE age > 15;
WHERE salary < 50000;

SQL AND 키워드를 사용하여 여러 WHERE 문을 지정할 수 있습니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

SELECT * FROM 테이블 WHERE column1 comparison1 value1 AND column2 comparison2 value2;

WHERE 문의 예를 살펴보겠습니다.

SQL WHERE 예:SELECT

우리는 고위 영업 사원인 직원의 목록을 얻고 싶습니다. 그렇게 하려면 다음 SQL SELECT 문을 사용할 수 있습니다.

SELECT name, title FROM employees WHERE title = 'Senior Sales Associate';

쿼리는 기준을 충족하는 다음 행을 반환합니다.

이름 | 제목

——-+————————

제프 | 수석 영업 직원

아담 | 수석 영업 직원

(2줄)

위의 모든 직원의 직함은 "Senior Sales Associate"입니다.

다른 예를 들어보겠습니다. 연간 소득이 $35,000 이상이고 이름이 Adam이 아닌 모든 직원의 목록을 얻고 싶다고 가정해 보겠습니다. 다음 SQL 문을 사용할 수 있습니다.

SELECT name, salary FROM employees WHERE salary > 35000 AND name <> "Adam";

쿼리는 다음 목록을 반환합니다.

이름 | 급여

——-+——–

제프 | 38000

엠마 | 50000

요나 | 50000

아담 | 38000

(4줄)

Adam의 이름은 연간 $35,000 이상을 벌어도 결과 세트에 없습니다. 이는 쿼리에서 <> 연산자로 그의 이름을 제외했기 때문입니다.

WHERE SQL 절:업데이트 및 삭제

SQL WHERE 절은 UPDATE 및 DELETE 문과 함께 작동합니다.

예를 들어 회사 구조 조정이 있는 경우 개별 직원이 근무하는 지점 이름을 업데이트하려고 한다고 가정합니다. UPDATE 문을 사용하여 이 작업을 수행할 수 있습니다.

우리는 Luke의 지점을 "Boston"에서 그의 새 사무실이 있는 "Cambridge"로 변경하려고 합니다. SQL UPDATE 문을 사용하여 이 작업을 수행할 수 있습니다.

UPDATE employees SET branch = 'Cambridge' WHERE name = 'Luke';

Luke의 분기를 찾기 위해 쿼리하면 다음 결과 집합을 얻습니다.

이름 | 지점

——+———–

루크 | 케임브리지

(1줄)

SQL DELETE 명령과 함께 WHERE 절을 사용할 수 있습니다.

폐쇄된 Albany 지점에서 일하는 모든 직원의 기록을 삭제하고 싶다고 가정해 봅시다. 다음 명령을 사용하여 이 작업을 수행할 수 있습니다.

직원 목록을 가져오면 반환되는 행 수는 8개가 아니라 6개입니다.

DELETE FROM employees WHERE branch = 'Albany';

우리 코드는 6개의 행을 반환합니다.

이름 | 지점

——–+—————

마이크 | 스탬포드

한나 | 샌프란시스코

제프 | 샌프란시스코

알렉시스 | 보스턴

아담 | 새크라멘토

루크 | 케임브리지

(6줄)

SQL 연산자

SQL WHERE 절은 논리 연산자를 사용하여 레코드를 필터링합니다. 첫 번째 예에서는 "같음" 연산자를 사용하여 고위 영업 사원의 이름을 확인했습니다.

절을 사용할 때 레코드를 필터링하는 데 사용할 수 있는 여러 논리 연산자가 있습니다. 다음과 같습니다.

연산자 설명
= 다음과 같음 WHERE 이름 ='제이크'
> 보다 큼 나이> 20
< 미만 나이 <20
>= 크거나 같음 급여 => 50000
<= 작거나 같음 급여 <=40000
좋아요 패턴 매칭 이름 LIKE 'Jo*'
지정된 값이 목록 내에서 일치하는지 확인 title IN('영업 직원', '영업 이사')
사이 지정된 값이 다른 값의 범위 내에 있는지 확인 1과 5 사이의 직원_month_awards


결론

SQL WHERE 절은 명령의 영향을 받는 레코드를 필터링합니다. SELECT, UPDATE 및 DELETE 문과 함께 SQL에서 WHERE 절을 사용할 수 있습니다. AND 문을 사용하여 여러 WHERE 절을 지정할 수 있지만 WHERE 키워드는 한 번만 사용하면 됩니다.

이 자습서에서는 쿼리, SQL WHERE 절 및 업데이트 또는 삭제 작업에서 절 절을 사용하는 방법에 대해 설명했습니다. 이 절과 함께 사용할 수 있는 조건 연산자에 대해 논의했습니다.

전문 SQL 개발자가 되는 데 관심이 있습니까? SQL 학습 방법 가이드를 확인하십시오. 이 가이드에는 SQL을 마스터하는 데 도움이 되는 최고의 학습 리소스 목록이 포함되어 있습니다.