연산자
5+3
+ : 연산자 연산을 수행하는 기호, 키워드
5, 3 : 피연산자 연산에 참여하는 변수나 값
산술 연산자
더하기, 빼기, 나누기, 곱하기를 산술 연산자라 한다.
예제 : select * from member where seq=6-1; 을 하게 되면 seq값이 5인 레코드가 출력
비교 연산자
| 연산자 | 뜻 |
| > | 크다 |
| >= | 크거나 같다 |
| < | 작다 |
| <= | 작거나 같다 |
| = | 같다 |
| <>, != | 같지 않다 |
피연산자1을 기준으로 한다.
ex) a <=b면 a가 피연산자1, b가 피연산자2
예제 : select * from member where seq != 3; 을 입력하면 seq가 3이 아닌 레코드가 출력
논리 연산자
| 연산자 | 의미 | 우선 순위 | 표현식 |
| NOT | 부정 | 1 | NOT 피연산자 |
| AND | 그리고(논리곱) | 2 | 피연산자1 AND 피연산자2 |
| OR | 또는(논리합) | 3 | 피연산자1 OR 피연산자2 |
NOT : 피연산자가 참일 시 거짓이 되고 피연산자가 거짓 일시 참이 된다.
AND : 피연산자 2개 중 1개가 거짓이라도 거짓이 된다.
F AND F = F
F AND T = F
T AND F = F
T AND T = T
OR : 피연산자 2개 중 1개가 참이라도 참이 된다.
F OR F = F
F OR T = T
T OR F = T
T OR T = T
예제1 : select * from member where seq=1 or seq=5; 을 입력하면 seq값이 1과 5인 레코드가 같이 출력
예제2 : select * from member where name='leegugu' and seq=5; 을 입력하면 이름이 leegugu이고 seq값이 5인 레코드가 출력
비트 논리 연산자
비트 논리 연산자 : 2진수로 비트단위 연산을 하기 위해서 사용되는 연산자
| DBMS | AND | OR | XOR |
| ORACLE | bitand(피연산자1, 피연산자2) | - | - |
| MSSQL | 피연산자1 & 피연산자2 | 피연산자1 | 피연산자2 | 피연산자1 ^ 피연산자2 |
| MYSQL | 피연산자1 & 피연산자2 | 피연산자1 | 피연산자2 | 피연산자1 ^ 피연산자2 |
XOR : Exclusive OR의 약자로 배타적인 논리합. 둘 중 오직 하나만 참일 경우에 결과가 참이 된다.
F AND F = F
F AND T = T
T AND F = T
T AND T = F
연결 연산자
| DBMS | 연산자 | 표현식 | 예시 |
| ORACLE | || | 피연산자1 || 피연산자2 | 'te' || 'st' |
| MSSQL | + | 피연산자1 + 피연산자2 | 'te' + 'st' |
| MYSQL | 공백 | 피연산자1 공백 피연산자2 | 'te' 공백 'st' |
예제 : select * from member where name='gue' 'st'; 을 입력하면 이름이 guset인 레코드가 출력
CONCAT : 모든 문자열을 이어준다.
예제 : select concat('cre', 'hack', 'tive'); 을 입력하면 한 단어인 crehacktive가 출력
IN 연산자
IN 연산자 : 목록 안에 값 중 일치하는 데이터를 출력 OR연산자를 연속적으로 사용하는 것과 동일한 값을 얻음. OR연산자보다 가독성이 좋음
사용법 : COLUMN이름/값 IN (값1, 값2...)
NOT IN 연산자 : 자기가 원하는 값을 제외하고 출력
사용법 : COLUMN이름/값 NOT IN (값1, 값2...)
실습을 통해 IN 연산자와 NOT IN 연산자를 사용해 보았다.

LIKE 연산자
전체 문자열 중 일부만 알고 있는 문자를 활용하여 검색할 수 있는 연산자
일반적으로 웹 검색 기능에 많이 쓰임
| 와일드 카드 | 의미 | 예시 |
| % | 모든 문자 | id like 'ad%' |
| _ | 하나의 문자 | id like 'admi_' |
실습을 통해 확인해 보았다.

%admin%의 뜻은 앞뒤에 어떤 문자가 오든 admin이 들어간 테이블을 출력하는 뜻이다.

%@credhacktive.co.kr의 뜻은 @credhacktive.co.kr의 앞에 어떤 문자가 오든 @credhacktive.co.kr으로 끝나는 들어간 테이블은 출력하는 것이다.
%가 궁금해서 필자가 한 가지 실험을 해봤다.
&&가 양끝에 있는 명령어를 실험해 봤다.

저 실험으로 보아 %%는 각각 & 앞뒤쪽에 어떤 문자가 오거나 아니면 아예 문자가 없을 때도 출력이 가능하다.
출처: 크리핵티브
강의 사이트: inf.run/7fxB
성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법 - 인프런
웹 해킹의 꽃이라 불리는 SQL 인젝션 공격을 익히기 위한 기초 단계! SQL 기본 문법에 대한 강의입니다! 초급 프로그래밍 언어 데이터베이스 보안 SQL 모의해킹 MySQL 데이터베이스 온라인 강의 SQL
www.inflearn.com
'SQL 기본 문법' 카테고리의 다른 글
| SQL 기본 문법6(조건문, 서브쿼리) (0) | 2021.02.07 |
|---|---|
| SQL 기본 문법5(함수) (0) | 2021.02.07 |
| SQL 기본 문법3(INSERT, SELECT, UPDATE, DELETE 구문) (0) | 2021.02.06 |
| SQL 기본 문법2(MySQL 구동, CREATE DROP 구문) (0) | 2021.02.06 |
| SQL 기본 문법1(DB와 SQL) (0) | 2021.02.06 |