코딩 스쿨 SQL

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

SQL And

SQL AND: 여러 조건을 결합하여 데이터 필터링

SQL AND 연산자는 WHERE 절에서 여러 조건을 결합할 때 사용되며, 모든 조건이 참일 때만 데이터를 반환합니다. 여러 조건을 만족하는 데이터를 필터링할 수 있어 더 구체적인 검색이 가능해집니다.

1. 기본 SQL AND 문법

AND 연산자는 WHERE 절 내에서 사용되며, 다음과 같은 구조를 가집니다:

SELECT 열이름1, 열이름2, ...
FROM 테이블이름
WHERE 조건1 AND 조건2 AND 조건3 ...;

  • 조건1, 조건2, ...: 모든 조건이 참(참조 데이터가 조건을 모두 만족)일 때만 데이터를 반환합니다.

2. SQL AND 예제

2.1 예제 1: 두 가지 조건 사용

다음은 employees 테이블에서 부서가 Sales이고 급여가 5,000 이상인 직원을 조회하는 예제입니다.

SELECT name, department, salary
FROM employees
WHERE department = 'Sales' AND salary >= 5000;

이 쿼리는 부서가 Sales이면서 동시에 급여가 5,000 이상인 직원들만 반환합니다.

결과 예시:

name department salary
John Doe Sales 6000
Jane Roe Sales 7000

2.2 예제 2: 세 가지 조건 사용

다음은 employees 테이블에서 부서가 HR이고, 급여가 5,000 이상이며, 고용일이 2020년 이후인 직원을 조회하는 예제입니다.

SELECT name, department, salary, hire_date
FROM employees
WHERE department = 'HR' AND salary >= 5000 AND hire_date > '2020-01-01';

이 쿼리는 부서가 HR, 급여가 5,000 이상, 고용일이 2020년 1월 1일 이후인 직원들을 반환합니다.

결과 예시:

name department salary hire_date
Alice HR 6000 2021-03-15

3. SQL AND와 OR의 차이

  • AND: 모든 조건이 참일 때만 데이터를 반환합니다.
  • OR: 하나라도 참인 조건이 있으면 데이터를 반환합니다.

예제:

다음은 ORAND의 차이를 보여줍니다:

SELECT name, department, salary
FROM employees
WHERE department = 'Sales' OR salary >= 5000;

위 쿼리는 부서가 Sales이거나 급여가 5,000 이상인 직원을 반환합니다.

4. SQL AND와 ORDER BY 결합

AND 연산자를 사용하여 데이터를 필터링한 후, ORDER BY를 결합하여 데이터를 정렬할 수 있습니다.

예제:

SELECT name, department, salary
FROM employees
WHERE department = 'Sales' AND salary >= 5000
ORDER BY salary DESC;

이 쿼리는 Sales 부서에서 급여가 5,000 이상인 직원을 필터링한 후, 급여가 높은 순으로 정렬하여 반환합니다.

5. SQL AND와 함께 사용할 수 있는 연산자

AND는 다양한 비교 연산자와 함께 사용하여 더욱 정교한 필터링을 할 수 있습니다.

  • =: 값이 같음
  • != 또는 <>: 값이 같지 않음
  • >: 값이 큼
  • <: 값이 작음
  • >=: 값이 크거나 같음
  • <=: 값이 작거나 같음

예제:

SELECT name, salary
FROM employees
WHERE department = 'Sales' AND salary >= 4000 AND salary <= 7000;

이 쿼리는 Sales 부서에서 급여가 4,000 이상 7,000 이하인 직원을 조회합니다.

6. SQL AND와 BETWEEN 결합

AND 연산자는 BETWEEN과 함께 사용되어 값이 특정 범위 내에 있는지를 확인할 때 사용됩니다.

예제:

SELECT name, salary
FROM employees
WHERE department = 'Sales' AND salary BETWEEN 5000 AND 7000;

이 쿼리는 Sales 부서에서 급여가 5,000에서 7,000 사이인 직원들을 반환합니다.

7. SQL AND와 IN 결합

AND 연산자는 IN 연산자와 결합하여 특정 값 집합에 속하는 데이터를 필터링할 때 사용할 수 있습니다.

예제:

SELECT name, department, salary
FROM employees
WHERE department IN ('Sales', 'HR') AND salary > 5000;

이 쿼리는 Sales 또는 HR 부서에 속하면서 급여가 5,000 이상인 직원을 반환합니다.

8. 실전 예제

예제 1: 고용일과 급여 조건을 결합하여 직원 조회

SELECT name, salary, hire_date
FROM employees
WHERE hire_date > '2020-01-01' AND salary >= 6000;

이 쿼리는 2020년 이후에 고용되었으며 급여가 6,000 이상인 직원을 조회합니다.

예제 2: 여러 조건 결합하여 특정 부서의 직원 조회

SELECT name, department, salary, hire_date
FROM employees
WHERE department = 'Engineering' AND salary >= 7000 AND hire_date > '2019-01-01';

이 쿼리는 Engineering 부서에 속하며, 급여가 7,000 이상이고, 2019년 이후에 고용된 직원을 조회합니다.

요약

SQL AND 연산자는 여러 조건을 결합하여 데이터를 필터링할 때 매우 유용합니다. 모든 조건이 참일 때만 데이터를 반환하므로, 특정 기준에 맞는 데이터를 더욱 정확하게 추출할 수 있습니다. AND는 다른 연산자 및 절과 결합하여 더욱 복잡한 필터링 작업을 수행할 수 있으며, 이를 통해 더 정밀한 데이터 분석이 가능합니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com