2020. 5. 7. 10:25ㆍDB
select,from은 생략 불가능
where절을 제외한 부분은 대소문자 구분을 하지 않는다.
ex1) emp테이블에서 sal이 1500이상인 데이터의 모든 열을 조회
ex2) emp테이블에서 job이 manager인 데이터의 empno, ename, job을 조회
ex3) emp에서 hiredate가 1982년인 데이터의 ename,.job,hiredate를 조회
ex4) emp에서 ename에 T가 2개 이상 포함된 데이터 조회
ex5) comm의 값이 null인 모든 열을 조회
AND,OR,NOT
and: 2개의 조건을 모두 만족
or: 2개 중 하나
not: 반대
not between a and b
not in(데이터 모임)
not like 패턴
is not null
String search = "엘지 노트북"
String[] ar = search.split(" ");
select *
from 테이블
where item like '%ar[0]%' and item like '%ar[1]%';
ex5) emp에서 ename에 t가 포함되어있지 않고 job이 manager인 사원의 데이터 조회
정렬
- 데이터베이스의 데이터는 저장순서를 알 수 없음
- 데이터베이스는 데이터를 저장할 때 검색을 빠르게 하기 위해서 인덱스를 별도로 생성해서 저장
- B+Tree, B*Tree 등을 이용해서 저장
- 데이터를 원하는 순서대로 정렬하고자 할 때 사용하는 절이 order by
ORDER BY
- order by 절에 정렬할 기준을 설정하면 됨.
- order by는 select 다음에 마지막으로 수행되기 때문에 select에서 만든 별명을 사용할 수 있음
- 정렬 기준을 설정할 때 select에 기재한 열 이름의 인덱스를 기재해도 가능
- ASC 나 DESC를 생략하면 ASC(오름차순)
- 2개 이상의 정렬 기준을 설정하면 앞의 정렬 기준이 우선하고 그 값이 동일할 때 뒤의 정렬기준이 적용됨.
- 데이터를 조회할 때 2개 이상의 행이 리턴된다면 특별한 경우가 아니라면 정렬을 해서 출력해야함.
ex1) emp에서 job의 오름차순으로 조회, job이 같은 경우는 Sal의 오름차순으로 모든열 조회