본문 바로가기
AWS(산대특)

DAY 13 - MySQL

by dkdlxl 2024. 2. 6.

비교연산자 (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