>  기사  >  php教程  >  Oracle 기본 학습 단순 쿼리 및 제한된 쿼리

Oracle 기본 학습 단순 쿼리 및 제한된 쿼리

高洛峰
高洛峰원래의
2017-01-06 11:21:351453검색

이 글에서는 주로 Oracle의 간단한 쿼리와 제한된 쿼리를 소개합니다. 아래에서는 자세히 설명하지 않겠습니다. 함께 살펴보겠습니다.

SQL:

1. DML(데이터 조작 언어): 주로 데이터베이스의 쿼리 및 업데이트 작업을 의미합니다. 쿼리 작업은 SQL 구문 전체에서 가장 번거롭고 가장 어려운 작업입니다. 필기시험에서 자주 사용됩니다.

2. DDL(데이터 정의 언어): 주로 데이터 객체(테이블, 사용자 등) 생성을 나타냅니다. 예: 관련 디자인 패러다임이 필요합니다.

3. DCL(Data Control Language): 주로 권한 작업을 수행합니다(사용자와 함께 관찰해야 함). 이 부분은 DBA를 담당합니다.

간단한 쿼리:

1, select 절을 사용하여 표시할 데이터 열을 제어합니다.

select empno,ename,ename,job,sal from emp;

2, 구별을 사용하여 중복 데이터 행을 제거할 수 있습니다:

select distinct job from emp;

3 select 절은 4개의 산술 연산을 수행하고 상수 내용을 직접 출력할 수 있습니다. , 그러나 문자열의 경우 작은따옴표 숫자를 사용하여 직접 작성합니다. 날짜 형식은 문자 형식을 따릅니다.

select empno,ename,(sal*15+(200+100)) income from emp;

쿼리에 직접 나타나는 경우는 거의 없습니다.

select empno||ename from emp;

5. where 절은 일반적으로 from 절 뒤에 작성되지만, 실행 후에는 where 절이 데이터 행 표시 작업을 제어하고, select 절이 데이터를 제어합니다. select 절은 where 절 실행보다 지연되므로 select 절에 정의된 별칭을 where에서 사용할 수 없습니다.

한정 쿼리:

1, 관계 연산자:

select * from emp where sal>1500;
 
select * from emp where ename ='SMITH'
 
select empno,ename,job from emp where job<>&#39;SALESMAN&#39;;

2, 논리 연산자:

select * from emp where sal>1500 and sal<3000;
select * from emp where sal>2000 or job=&#39;CLERK&#39;;
select * from emp where not sal >=2000;

3, 범위 쿼리:

select * from emp where sal between 1500 and 2000;
select * from emp where hiredate between &#39;01-1月-1981&#39;and&#39;31-12月-1981&#39;;

4, 빈 판단( Null은 데이터 열에 null이 사용된 경우 0을 의미하지 않습니다.

select * from emp where comm is not null;

5, IN 연산자( between 및 in은 지정된 범위를 제공합니다):

select * from emp where empno in (7369,7566,7788,9999);

not in 및 null 정보:

not in을 사용하는 경우 범위 판단 중, 범위에 null이 포함되어 있으면 결과가 반환되지 않습니다.

6, 퍼지 쿼리:

“-”: 임의의 한 문자와 일치

“%”: 0, 1 또는 여러 문자와 일치

이름이 A로 시작하는 직원 정보 조회:

select * from emp where ename like &#39;A%&#39;

두 번째 글자가 A인 직원 정보 조회:

select * from emp where ename like &#39;_A%&#39;;

임의의 직위에서 이름이 A인 사원 정보 조회:

select * from emp where ename like &#39;%A%&#39;;

질의 정렬:

ASC(기본값): 오름차순 정렬,

DESC: 내림차순 정렬,

모든 사원 정보를 조회하며, 급여순으로 정렬해야 합니다. . 낮은 것부터:

select * from emp order by sal desc;

각 직원의 번호, 이름, 연봉을 쿼리하고 낮은 것부터 높은 것 순으로 정렬합니다.

select empno ,ename,sal*12 income from emp order by income;

문 실행 순서: from - where -select - order by

기본 연습:


1, 부서 30 선택:

select * from emp where deptno=30;

2. 모든 직원의 이름, 번호, 부서 번호를 나열하세요.

select ename,empno,deptno from emp
where job=&#39;CLERK&#39;;

3. 커미션이 급여의 60% 이상인 직원 찾기:

select * from emp where comm>sal*0.6 ;

4. 부서 10의 모든 관리자와 부서 20의 모든 사무원 찾기:

select *
from emp
where (deptno=10 and job=&#39;MANAGER&#39; )or(deptno=20 and job=&#39;CLERK&#39;   );

5. 부서 찾기 부서 10의 모든 관리자, 부서 10의 모든 사무원 부서 20 및 관리자도 사무원도 아니지만 급여가 2000 이상인 모든 직원:

select *
from emp
where (deptno=10 and job=&#39;MANAGER&#39;)or(deptno=20 and
job=&#39;CLERK&#39;)or(job! =&#39;MANAGER&#39;and job!=&#39;CLERK&#39; and sal>=2000);
select *
from emp
where (deptno=10 and job=&#39;MANAGER&#39;)or(deptno=20 and job=&#39;CLERK&#39;)or(job
not in (&#39;CLERK&#39;,&#39;MANAGER&#39;) and sal>=2000);

6. 커미션을 받는 직원의 다양한 직업:

또는 커미션이 100개 미만인 직원:

select distinct job
 from emp
 where comm is not null;

8 , "R" 없이 직원 이름 표시:

select distinct job
 from emp
where comm is null or comm<100;

9. 이름 필드에 A가 포함된 모든 직원의 이름을 표시합니다. 표시된 결과는 다음을 기반으로 합니다. 기본급은 높은 것부터 낮은 것 순입니다. 급여가 동일할 경우 입사 연도가 빠른 순으로, 채용 날짜가 동일할 경우 직급별로 정렬합니다.

select *
from emp
where ename not like &#39;%R%&#39;;

요약

위 내용은 이 글의 전체 내용입니다. 혹시 모든 분들의 공부나 업무에 도움이 되셨으면 좋겠습니다. 질문이 있으면 메시지를 남겨서 소통할 수 있습니다.
select * from emp where ename like &#39;%A%&#39; order by sal desc,hiredate
asc,job;

오라클 기본 학습 단순 쿼리와 제한 쿼리에 관련된 더 많은 글은 PHP 중국어 홈페이지를 주목해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.