/*
where : 조건절 == if
select 값, 컬럼, 함수, from 테이블
where <- 조건
비교연산자: > , < , >= , !+ ,== , <>-> 같지 않다
( ) 를 사용해 우선순위를 매길 수 있다
null 일때 == null, is null ,
null 이 아닐 때 == is not null
not, and, or 을 사용할 수 있다
&& , || 사용 할 수 없다
*/
--'Julia' 와 'julia' 결과의 차이 : 대소문자 구분
select first_name, last_name, salary
from employees
where first_name = 'Julia';
select first_name, last_name, salary
from employees
where first_name = 'julia';
--9000불보다 많이 받는 사람들만 출력
SELECT first_name, salary
FROM employees
WHERE salary >= 9000;
--'Shanta' 보다 아스키 코드 값이 큰 사람들만 출력
--검색 기능이 자바보다 좋다
SELECT first_name
FROM employees
WHERE first_name >= 'Shanta';
--a 보다 큰 건 아무것도 안 나온다
SELECT first_name
from employees
where first_name >= 'a';
--is null 일때 출력
SELECT *
from employees
WHERE manager_id is null;
--is not null 일때 출력
SELECT *
from employees
WHERE manager_id is not null;
-- and 로 그리고
SELECT first_name
from employees
WHERE first_name = 'Shanta' and first_name = 'John';
-- or 로 또는
SELECT *
from employees
WHERE first_name = 'Shanta' or first_name = 'John';
-- 이름은 John이고 월급이 5000이상인 사원
SELECT first_name, salary
from employees
WHERE first_name = 'John' and salary >= 5000;
--2017년 12월 31일 이후에 입사한 사원들을 출력하라
select first_name,hire_date
from employees
WHERE hire_date > '2017-12-31'; -- 날짜 형식이지만 문자 형식에 해당한다
--all(and), any(or)
--all사용시 출력 안 됨
--SELECT salary from employees where first_name = 'Julia' 만 실행할 경우 드래그 하고 알트+f5
select first_name,salary
from employees
WHERE salary = all (SELECT salary from employees where first_name = 'Julia')
-- any 사용시 출력 됨 확인
select first_name,salary
from employees
WHERE salary = any (SELECT salary from employees where first_name = 'Julia')
--or 사용하기
select first_name,salary
from employees
WHERE salary =3200 or salary = 3400;
--in,not in
--in 8000,3200,6000인 사람들 출력
select first_name, salary
from employees
where salary in (8000,3200,6000);
---not in 8000,3200,6000이 아닌 사람들 출력
select first_name, salary
from employees
where salary not in (8000,3200,6000);
--'Julia', 'John' 이 이름인 사람들 출력
SELECT first_name
FROM employees
WHERE first_name in('Julia', 'John');
--between 범위 연산자
--6000보다 크거나 같고 9000보다 작거나 같은
SELECT first_name, salary
from employees
where salary >= 6000 and salary <= 9000;
--6000보다 크거나 같고 9000보다 작거나 같은
SELECT first_name, salary
from employees
where salary BETWEEN 6000 and 9000;
--6000보다 --하고 9000보다 컸을 때
SELECT first_name, salary
from employees
where salary not BETWEEN 6000 and 9000;
--like
-- like : 지정 글자를 포함하는 조건 == 자바 containes 기능과 같다
SELECT first_name
FROM employees
WHERE first_name like 'G_ra_d'-- 언더바 _의 역할 -> 언더바 위치에 무엇이 오든 출력한다
--맨 앞의 철자가 k 인 사람을 출력한다
--몇글자인지 상관 없다
SELECT first_name
FROM employees
where first_name like 'K%';
--에러에러! 안 나옴
--이유: 자료들을 살펴봤을 때 이름의 첫글자가 대문자로 되어있어서 나오지 않는다
SELECT first_name
FROM employees
where first_name like 'k%';
-- 뒤에 붙는 건 나옴 !
SELECT first_name
FROM employees
where first_name like '%k';
--맨앞만 아니면 a가 어디에 와있어도 된다 찾으면 출력해라
SELECT first_name
FROM employees
where first_name like '%a%';
--이름에 소문자 a나 첫글자에 A 가 들어가는 사람 출력
SELECT first_name
FROM employees
where first_name like '%a%' or first_name like '%A%';
--알파벳을 대문자로 변경해서 비교
SELECT first_name
FROM employees
where upper (first_name) like '%A%';
--알파벳을 소문자로 변경해서 비교
SELECT employee_id, last_name, lower(job_id), department_id
FROM employees
WHERE lower(last_name) = 'king';
--2016년도에 입사한 사원들 출력
--방법 1
select first_name,hire_date
from employees
WHERE hire_date >= '2016-01-01'and hire_date <= '2016-12-31';
--방법2
--에러에러!
select first_name,hire_date
from employees
WHERE hire_date like '2016%';
--to char 활용해서 사용해주기
--정상작동 확인
select first_name,hire_date
from employees
WHERE to_char (hire_date, 'YYYY-MM-DD') like '2016%';
-- -to char 활용해서 숫자를 문자로
- TO_CHAR(날짜, '포맷') ➔ 날짜를 원하는 문자 형식으로 변경 (예: 2026-06-12)
- TO_CHAR(숫자, '포맷') ➔ 숫자를 돈이나 콤마 형식의 문자 처리 (예: $5,000)
SELECT department_id, last_name, to_char(salary, '$999,999')
FROM employees
WHERE department_id = 50;
'PostgresSQL > PostgresSQL 개념정리' 카테고리의 다른 글
| table (0) | 2026.06.17 |
|---|---|
| Join (0) | 2026.06.15 |
| from (0) | 2026.06.12 |
| oder by , group by, group function, having sum (0) | 2026.06.12 |
| [standard function] 문자, 숫자, 날짜, 문자 <->날짜, 원하는 형식, 지정값 대체 (0) | 2026.06.10 |