[테이블 생성]
대소문자 구분없는 데이터 생성
create table fruit(
name varchar(20) not null,
price int default 0,
cnt int default 0
);
insert into fruit values('ApplE', 1000, 3);
insert into fruit values('APPLE', 1100, 4);
insert into fruit values('apple', 1200, 5);
insert into fruit values('banana', 1200, 6);
insert into fruit values('coconut', 1300, 5);
insert into fruit values('grape', 900, 7);
[AND]
-n가지 조건이 모두 충족되는 정보를 출력한다.
-AND연산자는 WHERE 절 뒤에 원하는 만큼 추가하여 정보를 가공할 수 있다.
select * from fruit where price>= 1000 and name like '%p%';
[OR]
-n가지 조건 중 한가지라도 만족 하는 정보를 출력
select * from fruit where price <= 1000 or cnt >=6;
*AND연산자는 OR연산자보다 우선순위에 있으므로 정확한 값을 얻기 위해선 ( )를 사용하는 것이 좋다
[IN]
-WHERE절 내에서 특정값 여러개를 선택하는 SQL 연산자
-괄호 내의 값 중 일치하는 것이 있으면 TRUE
-괄호내에 select등을 이용한 다양한 조건을 넣어 값을 추출할 수 있다
select * from fruit where name in ('banana','grape');
select * from fruit where cnt in (6,7);
select * from fruit where cnt in (6,(select max(cnt) from fruit));
[NOT]
-바로 뒤에오는 조건을 부정하는 역할
-다른 연산자와는 달리 필터링 할 열의 앞에 사용된다.
select * from fruit where not cnt = 5;
select * from fruit where not cnt in (3,5);
[LOWER, UPPER]
- 조건을 대문자/소문자로 바꿔주는 역할
- 테이블 내 특정문자를 조회할 경우 대문자 또는 소문자 관계없이 검색하기 위해 필요하다.
select * from fruit where lower(name) like lower('%pp%');
select * from fruit where upper(name) like upper('%pp%');
[문제]
-다음의 테이블에서 e(E)가 들어가지않은 과일의 이름과 가격만을 출력하세요.
select name, price from test where lower(name) not like lower('%e%');
'DB > ORACLE' 카테고리의 다른 글
ORACLE) 식당 데이터 구성하기 (0) | 2022.10.01 |
---|---|
Oracle) NVL, NVL2(null,공백 시 치환) (0) | 2022.08.05 |
day24) [Oracle]정보 추출, 가공을 통해 원하는 데이터 얻기(INSTR, SUBSTR,REPLACE,LPAD,RTRIM,TRIM) (0) | 2022.01.30 |
day24) [Oracle] 랜덤값 입력하기 (DBMS-RANDOM, CONCAT) (0) | 2022.01.28 |
day18) [Oracle] table 생성 + Select/Insert/Update/Delete 기본 쿼리문 (0) | 2022.01.20 |
댓글