본문 바로가기

oracle7

[Oracle] 8.서브쿼리 개인적으로 SQL 문의 꽃이 아닐까 생각한다 원하는 조건은 단순하지 않다. 원하는 sql문을 또 sql문에 적용시켜 값을 가져오는 복합적 성질을 띈다고 생각한다. inner join이 쉽거나 서브쿼리가 쉽거나 나는 후자였다. Q.--전체 사원의 평균급여보다 급여가 많은 사원 정보를 검색하라. 바로 예제로 들어가보자 보면이제 위의 조건문이 SQL문으로 스르륵 읽혀야한다. 적어도 서브쿼리를 바로 적용하기 위해서는 말이다. 영어구문처럼 뒤의 구문(급여가 많은 사원정보 검색) 은 앞쪽으로 앞의 구문(전체 사원의 평균 급여보다~)는 뒤로 보낼 생각을 해보자 보다 는 중간에 비교 및 연산을 연결 시켜주는 다리다 영어구문 처럼 뒤에서 와보겠다. '전체 사원의 평균 급여' 를 일단 구해보자 SELECT AVG(SALA.. 2021. 6. 23.
[Oracle] 6. 다양한 함수 1.다양한 함수 Oracle에는 다양한 함수가 존재합니다 문자 데이터도 있을테고 날짜 데이터, 숫자를 제외하여 여러 데이터가 있으니 다양하게 활용 될 함수를 잘 써야 합니다. --trim 공백을 제거한다. --to_char (format을 맞추는 역할을 함으로 중요함) --timestamp 타입을 날짜에서 많이 사용한다. --substr -- 원하는 자료를 뽑아서 사용한다. substr(hiredate,3,2) --case when than decode 함수를 사용하여 프로그램적인 if then else의 효과를 본다. --|| 문자 결합을 할 때 사용한다. --upper lower 소대문자 확인함수 저는 여기서 가장 많이 쓰였던 substr 함수를 복습해보려고 합니다. 문자열을 잘라 필요한 부분을 출력.. 2021. 6. 7.
[Oracle] 3-1. Where Where 절을 사용하는 기능은 다음과 같습니다 WHERE 절 이용 -비교연산 -논리연산 -BETWEEN -IN 연산 -LIKE연산 ->비교 연산 예제는 이전 글 참고 바랍니다 1. 논리 연산 AND OR NOT Q1. JOB이 MANAGER이면서 SALARY가 1500이상인 사원의 이름을 출력하시오 해석 ) 이러면 조건이 2개 이상이죠 JOB - MANAGER와 SALARY >= 1500 요 두개의 조건을 AND 논리연산으로 묶어서 쿼리를 작성해봅시다. SELECT ENAME FROM EMPLOYEE WHERE JOB = 'MANAGER' AND SALARY >= 1500; OR 조건이면 둘중 하나를 만족하면 그 값이 나오겠죠? 2.BETWEEN Q2. 급여가 2000과 3000사이인 사원의 이름과 급.. 2021. 6. 4.
[Oracle] 3.Where 절 (조건) 1.Where 대망의 Where 조금 더 세분화된 데이터를 추출하기 위해서는 필수적인 기능이다 EX) SELECT * FROM EMPLOYEE WHERE ~ 위치는 FROM TABLE명 -> 뒤에 위치하며 특정 조건을 걸어주는데 사용된다 예를들어 EMPLOYEE 테이블에서 SALARY의 값이 1000이상인 사원이름만을 출력하고싶다면 ..? 'SALARY >= 1000' 조건을 생각 해 볼 수 있다. 바로 적용해보자 SELECT ENAME,SALARY FROM EMPLOYEE WHERE SALARY >= 1000; 사원의 이름과 급여를 같이 출력해 (SELECT ENAME,SALARY) EMPLOYEE 테이블로 부터 (FROM EMPLOYEE) 근데 어떤조건? SALARY 값이 1000이상인거! (WHER.. 2021. 6. 3.