/*
½¨±í£º
dept:
deptno(primary key),dname,loc
emp:
empno(primary key),ename,job,mgr,sal,deptno
*/
1 Áгöemp±íÖи÷²¿ÃŵIJ¿Ãźţ¬×î¸ß¹¤×Ê£¬×îµÍ¹¤×Ê
select max(sal) as ×î¸ß¹¤×Ê,min(sal) as ×îµÍ¹¤×Ê,deptno from emp group by deptno;
2 Áгöemp±íÖи÷²¿ÃÅjobΪ'CLERK'µÄÔ±¹¤µÄ×îµÍ¹¤×Ê£¬×î¸ß¹¤×Ê
select max(sal) as ×î¸ß¹¤×Ê,min(sal) as ×îµÍ¹¤×Ê,deptno as ²¿ÃźŠfrom emp where job = 'CLERK' group by deptno;
3 ¶ÔÓÚempÖÐ×îµÍ¹¤×ÊСÓÚ1000µÄ²¿ÃÅ£¬ÁгöjobΪ'CLERK'µÄÔ±¹¤µÄ²¿Ãźţ¬×îµÍ¹¤×Ê£¬×î¸ß¹¤×Ê
select max(sal) as ×î¸ß¹¤×Ê,min(sal) as ×îµÍ¹¤×Ê,deptno as ²¿ÃźŠfrom emp as b
where job='CLERK' and 1000>(select min(sal) from emp as a where a.deptno=b.deptno) group by b.deptno
4 ¸ù¾Ý²¿ÃźÅÓɸ߶øµÍ£¬¹¤×ÊÓеͶø¸ßÁгöÿ¸öÔ±¹¤µÄÐÕÃû£¬²¿Ãźţ¬¹¤×Ê
select deptno as ²¿ÃźÅ,ename as ÐÕÃû,sal as ¹¤×Ê from emp order by deptno desc,sal asc
5 д³ö¶ÔÉÏÌâµÄÁíÒ»½â¾ö·½·¨
£¨Çë²¹³ä£©
6 Áгö'ÕÅÈý'ËùÔÚ²¿ÃÅÖÐÿ¸öÔ±¹¤µÄÐÕÃûÓ벿ÃźÅ
select ename,deptno from emp where deptno = (select deptno from emp where ename = 'ÕÅÈý')
7 Áгöÿ¸öÔ±¹¤µÄÐÕÃû£¬¹¤×÷£¬²¿Ãźţ¬²¿ÃÅÃû
select ename,job,emp.deptno,dept.dname from emp,dept where emp.deptno=dept.deptno
8 ÁгöempÖй¤×÷Ϊ'CLERK'µÄÔ±¹¤µÄÐÕÃû£¬¹¤×÷£¬²¿Ãźţ¬²¿ÃÅÃû
select ename,job,dept.deptno,dname from emp,dept where dept.deptno=emp.deptno and job='CLERK'
9 ¶ÔÓÚempÖÐÓйÜÀíÕßµÄÔ±¹¤£¬ÁгöÐÕÃû£¬¹ÜÀíÕßÐÕÃû£¨¹ÜÀíÕßÍâ¼üΪmgr£©
select a.ename as ÐÕÃû,b.ename as ¹ÜÀíÕß from emp as a,emp as b where a.mgr is not null and a.mgr=b.empno
10 ¶ÔÓÚdept±íÖУ¬ÁгöËùÓв¿ÃÅÃû£¬²¿Ãźţ¬Í¬Ê±Áгö¸÷²¿Ãʤ×÷Ϊ'CLERK'µÄÔ±¹¤ÃûÓ빤×÷
select dname as ²¿ÃÅÃû,dept.deptno as ²¿ÃźÅ,ename as Ô±¹¤Ãû,job as ¹¤×÷ from dept,emp
where dept.deptno *= emp.deptno and job = 'CLERK'
11 ¶ÔÓÚ¹¤×ʸßÓÚ±¾²¿ÃÅÆ½¾ùˮƽµÄÔ±¹¤£¬Áгö²¿Ãźţ¬ÐÕÃû£¬¹¤×Ê£¬°´²¿ÃźÅÅÅÐò
select a.deptno as ²¿ÃźÅ,a.ename as ÐÕÃû,a.sal as ¹¤×Ê from emp as a
where a.sal>(select avg(sal) from emp as b where a.deptno=b.deptno) order by a.deptno
12 ¶ÔÓÚemp£¬Áгö¸÷¸ö²¿ÃÅÖÐÆ½¾ù¹¤×ʸßÓÚ±¾²¿ÃÅÆ½¾ùˮƽµÄÔ±¹¤ÊýºÍ²¿Ãź
¿´ÁËһƪ½²×ù£¬Ëµµ½Êý¾Ý²ã·ÖÒ³¼¼Êõ£¬Óõ½ÁË4Öз½Ê½£¬1£©Ê¹ÓÃtop *top 2)ʹÓñí±äÁ¿ 3£©Ê¹ÓÃÁÙʱ±í 4£©Ê¹ÓÃROW_NUMBERº¯Êý¡£
ÆäÖÐ×î¿ìµÄÊǵÚ1 ºÍµÚ4Öз½Ê½£¬½ÓÏÂÀ´ÎÒÃÇÀ´¿´¿´ÕâÁ½ÖÖ·½Ê½£º
ÎÒÃÇʹÓÃsql2005×Ô´øµÄÊý¾Ý¿â AdventureWorks²âÊÔ£¬
1£©
--Use Top*Top
DECLARE @Start datetime,@end datetim ......