비교연산자 (WHERE절에서 자주 사용)
=: 좌항이 우항과 같으면 true
select * from jeju where observe_date = '2023-07-05';
<>, != : 좌항이 우항과 다르면 true
select * from jeju where observe_date <> '2023-07-05';
select * from jeju where observe_date != '2023-07-05';
< :좌항이 우항보다 작으면 true
<= : 좌항이 우항보다 작거나 같으면 true
select * from jeju where speed_80m < 3.5;
select * from jeju where speed_80m <= 3.5;
> : 좌항이 우항보다 크면 true
>= : 좌항이 우항보다 크거나 같으면 true
select * from jeju where speed_80m > 3.5;
select * from jeju where speed_80m >= 3.5;
<=> : 좌항과 우항이 모두 null이면 true
select * from jeju where null_column1 <=> null_column2;
IS : 좌항이 우항이 같으면 true (키워드)
IS NOT : 좌항이 우항과 다르면 true (키워드)
select * from jeju where above_avg_spd is true;
select * from jeju where above_avg_dir is not false;
IS NULL : 좌항이 NULL이면 true
IS NOT NULL : 좌항이 NULL이 아니면 true
select * from jeju where null_column1 is null;
select * from jeju where null_column1 is not null;
BETWEEN min AND max : 좌항이 min보다 크거나 같으면서 max보다 작거나 같으면 true
NOT BTWEEN min AND max : 좌항이 min보다 작거나 max보다 크면 true
select * from jeju where direction_50m between 270 and 360;
select * from jeju where direction_50m not between 270 and 360;
IN() : 주어진 값중에 하나라도 일치하는 값이 존재하면 true
NOT IN() : 주어진 값 들이 모두 일치하지 않으면 true
논리연산자
AND(&&) : 좌항과 우항이 모두 true이면 true
select * from jeju where speed_80m > 4 and direction_50m < 180;
OR(||) : 좌항과 우항중 하나라도 true이면 true
select * from jeju where speed_80m > 4 or direction_50m < 180;
XOR : 좌항과 우항이 다르면 true
select * from jeju where speed_80m > 4 xor direction_50m < 180;
* 교집합 된 수를 뺀 값임
LIKE 연산자 : 문자열을 비교할 때 패턴을 기준으로 비교
SELECT employee_name
FROM employees
WHERE employee_name LIKE 'J%';
* 날짜도 문자열 표현이 가능
% : 임의의 개수 (0 ~ 무한대)의 문자
select * from jeju where observe_date Like '20%';
select * from jeju where observe_date Like '%08';
select * from jeju where observe_date Like '%08%';
_ : 임의의 한 개 문자
select * from jeju where observe_date Like '20_';
select * from jeju where observe_date Like '2023-__-08';
정렬
ORDER BY : 쿼리 결과 기준으로 정렬
ASC : 오름차순 정렬
select * from jeju order by speed_80m asc;
DESC : 내림차순 정렬
select * from jeju order by speed_80m desc; # 내림차순
중복제거
DISTINCT : SELECT 결과에서 컬럼의 조합의 중복을 제거하여 출력, 열의 조합에서 고유한 값
select distinct above_avg_spd from jeju;
select distinct above_avg_spd, above_avg_dir from jeju;
DCL(데이터 제어어)
: 사용자에게 데이터베이스에 대한 권한 부여 및 회수할 때 사용
GEANT : 특정 사용자에게 특정 데이터베이스의 테이블에 대한 권한을 부여하는 명령
GRANT 명령어 ON 데이터베이스명.테이블명 TO 유저이름@접근위치;
GRANT SELECT ON practice_sql.example_table To 'developer'@'localhost';
REVOKE : 특정 사용자에게 특정 데이터베이스의 테이블에 대한 권한을 회수하는 명령어
REVOKE 명령어 ON 데이터베이스명.테이블명 FROM 유저이름@접근위치;
REVOKE SELECT ON practice_sql.example_table FROM 'developer'@'localhost';
'AWS(산대특)' 카테고리의 다른 글
DAY 15 - MySQL (0) | 2024.02.08 |
---|---|
DAY 14 - MysQL (0) | 2024.02.07 |
DAY 12 - MySQL (0) | 2024.02.05 |
DAY 11 - GitHub (0) | 2024.02.01 |
DAY 9 - JAVA (0) | 2024.01.30 |