Oracle 데이터 제한 및 정렬 (7)









SELECT empno, ename, job, sal
FROM emp
WHERE ename = 'JAMES';

SELECT empno, ename, job, sal
FROM emp
WHERE hiredate = '1982/12/09';


비교되는 값이 작은순서대로 앞에 온다.








사원의 성은 모르고 이름만 알때 LIKE를 사용할 수 있다.
모든 결과 값을 출력했다.  LIKE를 출력하면 어떤 결과가 나올지 생각하자.
와일드카드로 사용되어진 _ 는 중간에 아무 문자도 다 인식한다.
그래서 _를 와일드카드로 인식하는게 아니라 하나의 값으로 인식하게 해야 한다.









여기서 퀴즈 : 1981년에 입사한 사원 중에 부서가 10 또는 20인 사원을 조회 할 것.

SELECT * FROM emp WHERE hiredate like '81%' AND (depno = 10 OR deptno 20);


사진 위 아래 결과를 보면 다르다. 그 이유는 무엇이고 어떻게 해서
원하는 결과가 출력 되었는가?



우리가 원하는 데이터가 출력 되지 않았다. 문제가 무엇일까? 우선처리 순서때문이다.
그러므로 괄호를 이용하여 우선순위를 바꿔서 하자.


원인은 검은색바를 보면 운선순위가 이런식으로 연산되어 처리된다.




select에 출력한 칼럼이 아니더라도 다른 칼럼으로 데이터를 정렬할 수 있다.

용어를 헷갈리지 말자.
행 = ROW = 가로 
렬 = Column = 세로 


행의 중복을 제거 하는 것과 칼럼의 중복을 제거 하는 것의 차이는 무엇일까?

DISTINCT는 ROW에 적용 되는 것이기 때문에 , 칼럼에 적용되는 것이 아니다.






0 comments:

Post a Comment