이 글에서는 주로 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<>'SALESMAN';
2, 논리 연산자:
select * from emp where sal>1500 and sal<3000; select * from emp where sal>2000 or job='CLERK'; select * from emp where not sal >=2000;
3, 범위 쿼리:
select * from emp where sal between 1500 and 2000; select * from emp where hiredate between '01-1月-1981'and'31-12月-1981';
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 'A%'
두 번째 글자가 A인 직원 정보 조회:
select * from emp where ename like '_A%';
임의의 직위에서 이름이 A인 사원 정보 조회:
select * from emp where ename like '%A%';
질의 정렬:
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='CLERK';
3. 커미션이 급여의 60% 이상인 직원 찾기:
select * from emp where comm>sal*0.6 ;
4. 부서 10의 모든 관리자와 부서 20의 모든 사무원 찾기:
select * from emp where (deptno=10 and job='MANAGER' )or(deptno=20 and job='CLERK' );
5. 부서 찾기 부서 10의 모든 관리자, 부서 10의 모든 사무원 부서 20 및 관리자도 사무원도 아니지만 급여가 2000 이상인 모든 직원:
select * from emp where (deptno=10 and job='MANAGER')or(deptno=20 and job='CLERK')or(job! ='MANAGER'and job!='CLERK' and sal>=2000);
select * from emp where (deptno=10 and job='MANAGER')or(deptno=20 and job='CLERK')or(job not in ('CLERK','MANAGER') 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 '%R%';요약위 내용은 이 글의 전체 내용입니다. 혹시 모든 분들의 공부나 업무에 도움이 되셨으면 좋겠습니다. 질문이 있으면 메시지를 남겨서 소통할 수 있습니다.
select * from emp where ename like '%A%' order by sal desc,hiredate asc,job;
오라클 기본 학습 단순 쿼리와 제한 쿼리에 관련된 더 많은 글은 PHP 중국어 홈페이지를 주목해주세요!