BETWEEN ~ AND ~ 연산자

BETWEEN ~ AND ~ 연산자는 일정 범위 안의 데이터를 조회할 때 사용하는 연산자 입니다.

SELECT    [조회할 열 이름 1], [조회할 열 이름 2], ..., [조회할 열 이름 n], 
FROM       [조회할 테이블 이름]
WHERE    열 이름 BETWEEN 최소값 AND 최대값;

예를들어 급여(SAL)가 2,000 ~ 3,000 사이인 사원 데이터를 출력하고 싶은 경우 아래와 같이 조회 하시면 됩니다. 

예제로 사용된 TABLE의 정보는 'SCOTT 계정 예제 Table(emp, dept, salgrade)'을 참고하시면 됩니다.

SELECT *
FROM EMP
WHERE SAL BETWEEN 2000 AND 3000;

위와 같은 결과가 출력되도록 비교연산자 '>=', '<=' 와 논리연산자 'AND'를 사용하여 쿼리를 작성하실수도 있습니다.

SELECT *
FROM EMP
WHERE JOB = 'CLERK' OR JOB = 'SALESMAN' OR JOB = 'MANAGER';

이렇게 표현 하는 것도 하나의 방법이지만, ' BETWEEN ~ AND ~'을 이용하는 것이 훨씬 간단해 보입니다.   

 

이번에는 반대의 경우를 생각해 봅시다. 급여(SAL)가 2,000 ~ 3,000 사이 외인 사원 데이터를 출력 하고 싶을 때는 어떻게 하면 될까요? 아래와 같이 조회 하시면 됩니다.

SELECT *
FROM EMP
WHERE SAL NOT BETWEEN 2000 AND 3000;

IN 앞에 NOT를 붙여 반대의 상황을 조회 할 수 있도록 합니다. '논리 연산자 (Logical Operators)' 부분에서 설명한 바와 같이 NOT 연산자를 적용하면 TRUE/FALSE로 나오는 결과 값의 반대 값을 반환 합니다.

 

 

 

 

'DataBase' 카테고리의 다른 글

SQL 연산자 - 집합 연산자  (0) 2025.07.26
SQL 연산자 - LIKE 연산자  (0) 2025.07.25
SQL 연산자 - IN 연산자  (2) 2025.07.23
SQL 연산자 - 논리 연산자 (Logical Operators) - 작성중  (1) 2025.07.22
[DBMS] PostgreSQL  (0) 2025.07.21

SQL 연산자 - IN 연산자

IN 연산자는 특정 컬럼의 여러가지 데이터 값을 조회하고 싶을때 사용하실수 있습니다.

SELECT    [조회할 열 이름 1], [조회할 열 이름 2], ..., [조회할 열 이름 n], 
FROM       [조회할 테이블 이름]
WHERE    열 이름 IN (조건 데이터 1, 조건 데이터 2, ..., 조건 데이터 n);

예를 들어 직책(JOB)이, CLERK, SALESMAN, MANAGER 인 사원 데이터를 출력 하고 싶은 경우 아래와 같이 조회 하시면 됩니다. 예제로 사용된 TABLE의 정보는 'SCOTT 계정 예제 Table(emp, dept, salgrade)'을 참고하시면 됩니다.

SELECT *
FROM EMP
WHERE JOB IN ('CLERK', 'SALESMAN', 'MANAGER');

위와 같은 결과가 출력되도록 비교연산자 '=' 와 논리연산자 'OR'를 사용하여 쿼리를 작성하실수도 있습니다.

SELECT *
FROM EMP
WHERE JOB = 'CLERK' OR JOB = 'SALESMAN' OR JOB = 'MANAGER';

이렇게 표현 하는 것도 하나의 방법이지만, 조건이 늘어 날 수록 조건식이 많아져 번거로울 수 있습니다. 

 

이번에는 반대의 경우를 생각해 봅시다. 직책(JOB)이, CLERK, SALESMAN, MANAGER 이 아닌 경우를 출력 하고 싶을 때는 어떻게 하면 될까요? 아래와 같이 조회 하시면 됩니다.

SELECT *
FROM EMP
WHERE JOB NOT IN ('CLERK', 'SALESMAN', 'MANAGER');

IN 앞에 NOT를 붙여 반대의 상황을 조회 할 수 있도록 합니다. '논리 연산자 (Logical Operators)' 부분에서 설명한 바와 같이 NOT 연산자를 적용하면 TRUE/FALSE로 나오는 결과 값의 반대 값을 반환 합니다.

 

 

 

'DataBase' 카테고리의 다른 글

SQL 연산자 - LIKE 연산자  (0) 2025.07.25
SQL 연산자 - BETWEEN ~ AND ~ 연산자  (1) 2025.07.24
SQL 연산자 - 논리 연산자 (Logical Operators) - 작성중  (1) 2025.07.22
[DBMS] PostgreSQL  (0) 2025.07.21
[DBMS] MariaDB  (0) 2025.07.21

SQL 연산자 - 논리 연산자 (Logical Operators)

 

연산자 연산 설명 사용법
AND A AND B   모든 조건이 참일 때 TRUE를 반환한다.  
OR A OR B   A와 B 둘중 하나가 참일 때 TRUE를 반환한다.  
NOT NOT ~ 논리 부정 연산자 제시된 조건을 부정한다.
XOR A XOR B    

 

AND 연산자

OR 연산자

 

NOT 연산자

제시된 조건의 결과와 반대되는 값을 얻고 싶을때 사용하는 연산자 입니다.   NOT 연산자를 적용하면 TRUE/FALSE로 나오는 결과 값의 반대 값을 반환 합니다. 예를 들어 사원정보(EMP) 테이블에 있는 부서번호(DEPTNO)가 10이 아닌 직원의 정보를 알고 싶다면 아래와 같이 조회 하시면 됩니다. 

SELECT *
FROM EMP
WHERE NOT DEPTNO = 10;

 

'DataBase' 카테고리의 다른 글

SQL 연산자 - BETWEEN ~ AND ~ 연산자  (1) 2025.07.24
SQL 연산자 - IN 연산자  (2) 2025.07.23
[DBMS] PostgreSQL  (0) 2025.07.21
[DBMS] MariaDB  (0) 2025.07.21
[DBMS] MySql  (0) 2025.07.21

[DBMS] PostgreSQL

 

PostgreSQL은 최근 가장 빠르게 성장하고 있는 오픈소스 DBMS 중 하나로 복잡한 대용량 데이터 작업을 위한 DBMS로 선호되고 있습니다. 대규모 데이터 활용 및 복잡한 쿼리 등 부하가 많은 작업을 해야하는 경우 많이 사용하고 있습니다.

 

MySQL이나 MariaDB에 비해 많은 기능을 포함하고 있어 어렵다는 평가가 있으며, 상용버전 사용으로 추가 기능과 서비스를 이용 할 수도 있습니다.

 

PostgreSQL 에 대한 자세한 내용은 아래 링크들을 참고 하시기 바랍니다.

 

 

 

 

'DataBase' 카테고리의 다른 글

SQL 연산자 - IN 연산자  (2) 2025.07.23
SQL 연산자 - 논리 연산자 (Logical Operators) - 작성중  (1) 2025.07.22
[DBMS] MariaDB  (0) 2025.07.21
[DBMS] MySql  (0) 2025.07.21
SQL 연산자 - 비교 연산자(Comparison Operators)  (2) 2025.07.21

[DBMS] MariaDB

 

MarianDB는 MySql의 상용화를 우려해 My SQL 개발자들이 만든 DBMS 입니다. 

 

초창기 버전인 MariaDB 5.5 버전은 MySQL 5.5 버전을 기반으로 만들어졌기에 MySQL과 유사한 기능을 제공하며, 호환성이 높습니다. MySql의 직접적인 대안으로 대체가 가능하고 추가 기능을 활용 할 수 있다는 장점이 있습니다.

 

MariaDB는 더 효율적이고 향성상 데이터베이스 성능을 제공하며, 여러 스토리지 엔진을 통해 다양한 데이터 유형을 지원하며, 영구적으로 무료로 사용할수 있는 오픈소스 DBMS로 많은 사랑을 받고 있습니다.

 

MariaDB 에 대한 자세한 내용은 아래 링크들을 참고 하시기 바랍니다.

 

 

 

[DBMS] MySql 

 

MySql은 2010년에 Orcle이 썬을 인수하면서 같이 인수 받은 오픈소스 DBMS 이입니다. 동시성이 높은 읽기 전용 기능에 강점이 있다고 평가 받고 있으나, 고급 기능과 운영 지원을 받으려면 상용 버전을 사용해야 한다는 제한이 있습니다.

 

대체적으로 간편하여 점유율은 상당히 높은 편입니다.과거 제로보드와 그누보드가 MySql을 지원하면서 점유율이 높아졌으나, Oracle의 인수 이후 사용 빈도가 줄어들고 있습니다.

 

MySql에 대한 자세한 내용은 아래 링크들을 참고 하시기 바랍니다.

 

 

 

비교 연산자 (Comparison Operators)

1. 대소비교 연산자

두 값의 크기를 비교합니다.

연산자 연산 설명 사용법
> 크다 A > B   A값이 B값을 초화하면 TRUE를 반환한다.  
>= 크거나 같나 A >= B  A값이 B값 이상이면 TRUE를 반환한다.  
< 작다 A < B  A값이 B값 미만이면 TRUE를 반환한다.  
<= 자거나 같다 A <= B  A값이 B값을 이하이면 TRUE를 반환한다.  

 

사원정보(EMP) 테이블에 있는 월급여(SAL)가 2,000 이상인 직원의 정보를 알고 싶다면 아래와 같이 조회 하시면 됩니다. 예제로 사용된 TABLE의 정보는 'SCOTT 계정 예제 Table(emp, dept, salgrade)'을 참고하시면 됩니다.

SELECT *
FROM EMP
WHERE SAL > 2000;

 


숫자 이외에 문자의 대소 비교도 가능합니다. 이때 기준은 알파벳 순서 입니다. 사원정보(EMP) 테이블서 이름(ENAME)이 알파벳 F보다 뒤에 있는 직원의 정보를 알고 싶다면 아래와 같이 조회 하시면 됩니다. 

SELECT *
FROM EMP
WHERE ENAME >= 'F';

 

2. 등가비교연산자

연산자 얀쪽 항목의 값이 같은지 비교합니다. 등가비교 연산자는 양쪽 항목에 대한 조건식이 참 일때 TRUE값을, 거짓일때 FALSE값을 반환합니다.

연산자 연산 설명 사용법
= 같다 A = B  A값과 B값이 서로 같으면 TRUE를 반환한다.  
<>
!=
^=
같지않다 A <> B
A != B
A ^= B
A값이 B값이 서로 같지 않으면 TRUE를 반환한다.  

 

사원정보(EMP) 테이블에 있는 부서번호(DEPTNO)가 10인 직원의 정보를 알고 싶다면 아래와 같이 조회 하시면 됩니다. 

SELECT *
FROM EMP
WHERE DEPTNO = 10;

 

사원정보(EMP) 테이블에 있는 부서번호(DEPTNO)가 10이 아닌 직원의 정보를 알고 싶다면 아래와 같이 조회 하시면 됩니다. 

SELECT *
FROM EMP
WHERE DEPTNO ^= 10;

DEPTNO ^= 10 이외에 DEPTNO <> 10나 DEPTNO != 10로 조회 하셔도 결과는 아래와 같습니다.

참고로 논리 부정 연산자인 NOT를 사용하여도 같은 결과를 얻으실 수 있습니다.( '논리 연산자 (Logical Operators)'  참고)

SELECT *
FROM EMP
WHERE NOT DEPTNO = 10;

 

'DataBase' 카테고리의 다른 글

[DBMS] MariaDB  (0) 2025.07.21
[DBMS] MySql  (0) 2025.07.21
SQL 연산자 - 산술 연산자(Arithmetic Operators)  (0) 2025.07.21
SQL 연산자 한눈에 보기 - 작성 중  (0) 2025.07.20
[Oracle] SQL 기본 문법 - 선택 출력(WHERE 절)  (0) 2025.07.19

SQL 연산자 - 산술 연산자(Arithmetic Operators)

더하기, 빼기, 곱하기, 나누기 등 산술 계산시 사용합니다.

연산자 연산 사용법 설명
+ 덧셈 A + B   A와 B를 더한 값을 반환한다.
- 뺄셈 A - B   뺄셈 , A에서 B를 뺀 값을 반환한다.
* 곱셉 A * B  곱셉,  A와 B를 곱한 값을 반환한다.
/ 나눗셈 A  / B   나눗셈, A를 B로 나눈 값을 반환한다.
% 나머지 A % B 나머지, A를 B로 나눈 나머지 값을 반환한다.

 

EMP 테이블에 있는 이름(ENAME), 월급여(SAL), 수당(COMM) 이외에 연수입총액구 하여 표현해 주고 싶으면 직접 계산식을 추가하여 값을 표시할 수 있습니다. 연수입총액은 SAL*12+COMM 로 구하실수 있으며 아래와 같이 조회 하시면 됩니다. 예제로 사용된 TABLE의 정보는 'SCOTT 계정 예제 Table(emp, dept, salgrade)'을 참고하시면 됩니다.

SELECT ENAME, SAL, COMM, SAL*12+COMM
FROM EMP;

 

 

'DataBase' 카테고리의 다른 글

[DBMS] MySql  (0) 2025.07.21
SQL 연산자 - 비교 연산자(Comparison Operators)  (2) 2025.07.21
SQL 연산자 한눈에 보기 - 작성 중  (0) 2025.07.20
[Oracle] SQL 기본 문법 - 선택 출력(WHERE 절)  (0) 2025.07.19
엔티티(Entity)  (2) 2025.07.18

SQL 연산자 한눈에 보기

SQL에서 데이터를 다룰때 여러가지 연산자를 사용 할 수 있습니다. 

 

1. 산술 연산자 (Arithmetic Operators)

더하기, 빼기, 곱하기, 나누기 등 산술 계산시 사용합니다.

연산자 연산 사용법 설명
+ 덧셈 A + B   A와 B를 더한 값을 반환한다.
- 뺄셈 A - B   뺄셈 , A에서 B를 뺀 값을 반환한다.
* 곱셉 A * B  곱셉,  A와 B를 곱한 값을 반환한다.
/ 나눗셈 A  / B   나눗셈, A를 B로 나눈 값을 반환한다.
% 나머지 A % B 나머지, A를 B로 나눈 나머지 값을 반환한다.

 

2. 비교 연산자 (Comparison Operators)

두개의 값을 비교할 때 사용 합니다.

연산자 연산 설명 사용법
> 크다 A > B   A값이 B값을 초과하면 TRUE를 반환한다.  
>= 크거나 같나 A >= B  A값이 B값 이상이면 TRUE를 반환한다.  
< 작다 A < B  A값이 B값 미만이면 TRUE를 반환한다.  
<= 자거나 같다 A <= B  A값이 B값을 이하이면 TRUE를 반환한다.  
= 같다 A = B  A값과 B값이 서로 같으면 TRUE를 반환한다.  
<>, !=, ^= 같지않다 A <> B, A != B, A ^= B     A값이 B값이 서로 같지 않으면 TRUE를 반환한다.  

 

3. 논리 연산자 (Logical Operators)

연산자 연산 설명 사용법
AND A AND B   모든 조건이 참일 때 TRUE를 반환한다.  
OR A OR B   A와 B 둘중 하나가 참일 때 TRUE를 반환한다.  
NOT NOT ~ 논리 부정 연산자 제시된 조건을 부정한다.
XOR A XOR B    

 

4. 기타 연산자

연산자 연산 필수요소 설명
IN   열이름
조회할 열의 데이터 목록
매개변수로 전달된 리스트에 값이 존재하면 TRUE를 반환한다. 
BETWEEN ~ AND ~   열이름, 최솟값, 최대값 값이 A,B 사이에 있으면 TRUE를 반환한다.
일정 범위의 데이터를 조회할 때 사용한다.
LIKE    와일드 카드(wild card)
'%', '_'
패턴으로 문자열을 검색하여 값이 존재하면 TRUE를 반환한다.
IS    NULL
NOT NULL
컬럼의 값이 NULL인지를 비교할때 사용한다.

 

 

 

SQL 기본 문법 - 선택 출력(WHERE 절)

테이블에 있는 자료를 조회할때 틀정 조건에 맞는 행을 선택을 하여 출력하고 싶을때 WHERE 절을 사용합니다.

여기서 사용되는 EMP 테이블의 구조 등 예제 테이블의 대한 자세한 내용은 'https://siteview.tistory.com/327'을 참조 하십시요.

 

1. 하나의 비교 연산자를 이용한 선택 출력

EMP 테이블에서 부서번호(DEPTNO)가 10인 자료만 출력하는 QURY를 작성하면 아래와 같습니다.

SELECT *
FROM EMP
WHERE DEPTNO = 10;

WHERE 이하 조건식에서 ' DEPTNO = 10' 인 조건에 만족하는(결과가 참인, 결과 값이 TRUE인) 데이터만 출력합니다. 

 

2. 여러개의 조건식을 이용한 선택 출력

WHERE 절에서는 논리연산자인 AND와 OR를 이용하여 여러개의 조건식을 사용하 실 수 있습니다.

 

2.1. AND 연산자를 이용한 선택 출력

AND 연산자는 여러개의 조건을 동시에 만족할 때 사용합니다. 예제로 EMP 테이블에서 부서번호(DEPTNO)가 30인 직원중 직업(JOB)이 'SALESMAN'인 자료만 출력하는 QURY를 작성하면 아래와 같습니다.

SELECT *
FROM EMP
WHERE DEPTNO = 30 AND JOB = 'SALESMAN';

 

 

2.2. OR 연산자를 이용한 선택 출력

OR 연산자는 여러개의 조건 중 하나만 만족해도 될 때 사용합니다. 예제로 EMP 테이블에서 부서번호(DEPTNO)가 30인 직원중 직업(JOB)이 'CLERK'인 자료만 출력하는 QURY를 작성하면 아래와 같습니다.

SELECT *
 FROM EMP
 WHERE DEPTNO = 30 OR JOB = 'CLERK';

+ Recent posts