LIKE 연산자
=> 비교 '=' 대신 like
=> 특정 문자열에 대해서 일부분만 일치하는 경우를 찾아야 할 때 사용
구문 : where 필드이름 like 문자열패턴
-> 절대로 '='를 사용하지 않음
%검색어 => 검색어로 끝나는 것 찾는거
%검색어% => 검색어를 포함하는 것을 찾음
검색어% = 검색어로 시작하는 것을 찾음
_ _ _ => 3가지를 비교하겠다 (붙여서 사용하는것)
_ _ _%
'김'씨 성을 가진 학생 이름출력 하기
SQL> select name, address
2 from student
3 where name like '김%';
NAME ADDRESS
-------------------- --------------------
김광식 서울
김정현 서울
김현정 대전
김현정 대구
김우주 부산
이름 중에 '광'을 포함하고 있는 학생 이름
SQL> select name, address
2 from student
3 where name like '%광%';
NAME ADDRESS
-------------------- --------------------
김광식 서울
박광수 광주
이름이 '정'으로 끝나는 학생 이름 출력
SQL> select name, address from student
2 where name like '%정';
NAME ADDRESS
-------------------- --------------------
김현정 대전
김현정 대구
여학생만 출력
select name, address
2 from student
3 where resident_id like '%-2%';
NAME ADDRESS
-------------------- --------------------
김현정 대전
김현정 대구
like가 자바로 넘어오면 사용법이 또 달라진다.
String s = "김";
query = "select * from student where name like '?%'";
= ? 자체가 ' ' 안에 들어가있어서 문자열로 읽기 때문에 에러.
* 자바에서 문자열을 표현할 때 " " 으로 나타낸다.
문자열 내부에서 다시 문자열을 사용할 경우 => " ' ' "
"select * from student where name like '%' ||?|| '%'";
=> 김을 포함하는 값을 구함 // %는 ' ' 안에 무조건 넣어야하고 변수는 ||로 구분
'DataBase' 카테고리의 다른 글
[Oracle] 시퀀스(Sequence) (0) | 2021.04.14 |
---|---|
[Oracle] 접속 (0) | 2021.04.14 |
SQL (DDL/DML/DCL/TCL) (0) | 2021.04.09 |
관계형 데이터베이스 (0) | 2021.04.08 |
데이터와 데이터베이스 (0) | 2021.04.08 |