SQL 쿼리 문: 1. 테이블 구조 보기 [SQL>DESC emp] 2. 모든 열 쿼리 [SQL>SELECT * FROM emp] 3. 지정된 열 쿼리 5. 사용 6. 논리 연산 기호를 사용합니다.
권장(무료):sql tutorial
sql 쿼리문:
1. 간단한 쿼리문
1. 테이블 구조 보기
SQL>DESC emp;
2. )
%는 하나 이상의 문자를 나타내고, _는 하나의 문자를 나타내고, [charlist]는 문자 열의 단일 문자를 나타내고, [^charlist] 또는 [!charlist]는 문자 열에 없는 단일 문자를 나타냅니다.
SQL>SELECT * FROM emp;
SQL>SELECT empmo, ename, mgr FROM emp; SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项
SQL>SELECT * FROM emp WHERE job='CLERK';
SQL>SELECT ename, sal*13+nvl(comm,0) FROM emp; nvl(comm,1)的意思是,如果comm中有值,则nvl(comm,1)=comm; comm中无值,则nvl(comm,1)=0。 SQL>SELECT ename, sal*13+nvl(comm,0) year_sal FROM emp; (year_sal为别名,可按别名排序) SQL>SELECT * FROM emp WHERE hiredate>'01-1月-82';
SQL>SELECT * FROM emp WHERE ename like 'S__T%';
테이블에서 필드 a를 선택하고 이름을 XXX로 지정합니다. a의 내용은 original_a를 사용하는 경우 내용은 "새로 명명된 Aa"로 표시됩니다.원본 목록
a
b
coriginal_a
...
... original_b... | 쿼리 결과 | |
XXX | ||
새 이름 Bb |
SQL>SELECT * FROM emp WHERE job IN ('CLERK','ANALYST');
SQL>SELECT * FROM emp WHERE mgr IS/IS NOT NULL;
로그인 후 복사
|
SQL>SELECT * FROM emp WHERE (sal>500 or job='MANAGE') and ename like 'J%';
로그인 후 복사
| 데이터 그룹화 요약 :
a. 그룹화 기능은 select list, had, order by 절에만 나타날 수 있습니다(where에는 나타날 수 없음)
b. 그 순서는 그룹화, 소유, 정렬입니다.
c. 선택 열에 열, 표현식 및 그룹화 기능이 있는 경우 해당 열 및 표현식이 group by 절에 나타나야 합니다. 그렇지 않으면 오류가 발생합니다. 즉, SELECT 절의 열 이름은 그룹화 열 또는 열 함수여야 합니다
3. 다중 테이블 쿼리
SQL>SELECT * FROM emp ORDER BY deptno, sal DESC; (按部门升序,并按薪酬降序)
SQL>SELECT CASE a WHEN "original_a" THEN "新命名Aa" WHEN "original_b" THEN "新命名Bb" END AS XXX;
5.1 단일 행 하위 쿼리
SQL>SELECT DATE_FORMAT(start_time,"%Y-%m-%d") as "时间";
5.2 다중 행 하위 쿼리
SQL>SELECT MAX(sal),MIN(age),AVG(sal),SUM(sal) from emp; SQL>SELECT * FROM emp where sal=(SELECT MAX(sal) from emp)); SQL>SELEC COUNT(*) FROM emp;
5.3 ALL
SQL>SELECT deptno,MAX(sal),AVG(sal) FROM emp GROUP BY deptno; SQL>SELECT deptno, job, AVG(sal),MIN(sal) FROM emp group by deptno,job having AVG(sal)<2000;
5.4 ANY
SQL>SELECT e.name,e.sal,d.dname FROM emp e, dept d WHERE e.deptno=d.deptno order by d.deptno; SQL>SELECT e.ename,e.sal,s.grade FROM emp e,salgrade s WHER e.sal BETWEEN s.losal AND s.hisal; Select a.*, b.x, c.y from a left outer join (Select * from tablex where condition1)b on a.id=b.id left outer join (Select * from tabley where condition2)c on a.id=c.id where condition3;
5.5 다중 열 하위 쿼리
SQL>SELECT er.ename, ee.ename mgr_name from emp er, emp ee where er.mgr=ee.empno;
SQL>SELECT ename FROM emp WHERE deptno=(SELECT deptno FROM emp where ename='SMITH');
5.7 페이징 쿼리
데이터베이스의 각 데이터 행에는 rownum이라는 해당 행 번호가 있습니다.
SQL>SELECT ename,job,sal,deptno from emp WHERE job IN (SELECT DISTINCT job FROM emp WHERE deptno=10);
쿼리 열을 지정하세요. 쿼리 결과 정렬 등의 경우 가장 안쪽 하위 쿼리만 수정하면 됩니다.
5.8 쿼리 결과로 새 테이블 만들기
SQL>SELECT ename,sal,deptno FROM emp WHERE sal> ALL (SELECT sal FROM emp WHERE deptno=30);或SQL>SELECT ename,sal,deptno FROM emp WHERE sal> (SELECT MAX(sal) FROM emp WHERE deptno=30);
5.9 병합 쿼리(합집합 합집합, 교차 교차점, 합집합 + 교차점, 빼기 차이 집합)
SQL>SELECT ename,sal,deptno FROM emp WHERE sal> ANY (SELECT sal FROM emp WHERE deptno=30);或SQL>SELECT ename,sal,deptno FROM emp WHERE sal> (SELECT MIN(sal) FROM emp WHERE deptno=30);
병합 쿼리의 실행 효율성은 and보다 훨씬 높으며, 또는 기타 논리 쿼리.
5.10 하위 쿼리를 사용하여 데이터 삽입
SQL>SELECT * FROM emp WHERE (job, deptno)=(SELECT job, deptno FROM emp WHERE ename='SMITH');
먼저 빈 테이블을 만듭니다.
SQL>SELECT emp.deptno,emp.ename,emp.sal,t_avgsal.avgsal FROM emp,(SELECT emp.deptno,avg(emp.sal) avgsal FROM emp GROUP BY emp.deptno) t_avgsal where emp.deptno=t_avgsal.deptno AND emp.sal>t_avgsal.avgsal ORDER BY emp.deptno;
그런 다음 emp 테이블에 있는 부서 번호 10의 데이터를 새 테이블 myEmp에 삽입하여 데이터 일괄 쿼리를 구현합니다.
5.11은 쿼리를 사용하여 테이블의 데이터를 업데이트합니다
SQL>SELECT a2.* FROM (SELECT a1.*, ROWNUM rn FROM (SELECT * FROM emp ORDER BY sal) a1 WHERE ROWNUM<=10) a2 WHERE rn>=6;
php 프로그래밍
(동영상)위 내용은 SQL 쿼리문이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!