SQLSERVER2008ʵÓý̳ÌʵÑé²Î¿¼´ð°¸(ʵÑé4) ÏÂÔØ±¾ÎÄ

ʵÑé4 Êý¾Ý¿âµÄ²éѯºÍÊÓͼ Ò»¡¢SELECTÓï¾äµÄ»ù±¾Ê¹ÓÃ

1. ²éѯEmployees±íÖÐËùÓÐÊý¾Ý 2. ²éѯEmployees±íÖÐÖ¸¶¨×Ö¶ÎÊý¾Ý

3. ²éѯEmployees±íÖеIJ¿ÃźźÍÐÔ±ð£¬ÒªÇóʹÓÃDistinctÏû³ýÖØ¸´ÐÐ 4. ʹÓÃWHERE×Ó¾ä²éѯ±íÖÐÖ¸¶¨µÄÊý¾Ý ²éѯ±àºÅΪ¡¯000001¡¯µÄ¹ÍÔ±µÄµØÖ·ºÍµç»° ²éѯÔÂÊÕÈë¸ßÓÚ2000ÔªµÄÔ±¹¤ºÅÂë

²éѯ1970ÄêÒÔºó³öÉúµÄÔ±¹¤µÄÐÕÃûºÍסַ 5. ʹÓÃAS×Ó¾äΪ±íÖÐ×Ö¶ÎÖ¸¶¨±ðÃû

²éѯEmployees±íÖÐÅ®¹ÍÔ±µÄµØÖ·ºÍµç»°£¬²¢½«ÁбêÌâÏÔʾΪµØÖ·ºÍµç»°

²éѯEmployees±íÖÐÄйÍÔ±µÄÐÕÃûºÍ³öÉúÈÕÆÚ£¬²¢½«ÁбêÌâÏÔʾΪÐÕÃûºÍ³öÉúÈÕÆÚ 6. ʹÓÃʹÓÃCASE×Ó¾ä

²éѯEmployees±íÖÐÔ±¹¤µÄÐÕÃûºÍÐÔ±ð£¬ÒªÇóSexֵΪ1ʱÏÔʾ¡°ÄС±£¬Îª0ʱÏÔʾ¡°Å®¡± ²éѯEmployees±íÖÐÔ±¹¤µÄÐÕÃû¡¢×¡Ö·ºÍÊÕÈëˮƽ£¬2000ÔªÒÔÏÂÏÔʾΪµÍÊÕÈ룬2000~3000µØÏÔʾΪÖеÈÊÕÈ룬3000ÔªÒÔÉÏÏÔʾΪ¸ßÊÕÈë¡£ 7. ʹÓÃSELECTÓï¾ä½øÐмòµ¥¼ÆËã ¼ÆËãÿ¸ö¹ÍÔ±µÄʵ¼ÊÊÕÈë 8. ʹÓÃÄÚÖú¯Êý »ñµÃÔ±¹¤×ÜÊý

¼ÆËãSalary±íÖÐÔ±¹¤ÔÂÊÕÈëµÄƽ¾ùÊý »ñµÃEmployees±íÖÐ×î´óµÄÔ±¹¤ºÅÂë ¼ÆËãSalary±íÖÐËùÓÐÔ±¹¤µÄ×ÜÖ§³ö

²éѯ²ÆÎñ²¿¹ÍÔ±µÄ×î¸ßºÍ×îµÍʵ¼ÊÊÕÈë 9. Ä£ºý²éѯ

ÕÒ³öËùÓÐÐÕÍõµÄ¹ÍÔ±µÄ²¿ÃźÅ

ÕÒ³öËùÓеØÖ·Öк¬ÓС°ÖÐɽ¡±µÄ¹ÍÔ±µÄºÅÂë¼°²¿ÃźÅ

ÕÒ³öÔ±¹¤ºÅÂëÖе¹ÊýµÚ¶þ¸öÊý×ÖΪ0µÄÔ±¹¤µÄÐÕÃû¡¢µØÖ·ºÍѧÀú 10. Between¡­And¡­ºÍOrµÄʹÓÃ

ÕÒ³öÊÕÈëÔÚ2000~3000ÔªÖ®¼äµÄ¹ÍÔ±±àºÅ ÕÒ³ö²¿ÃÅΪ¡°1¡±»ò¡°2¡±µÄ¹ÍÔ±µÄ±àºÅ 11. ʹÓÃINTO×Ӿ䣬ÓÉÔ´±í´´½¨Ð±í

ÓɱíSalary´´½¨¡°SalaryNew¡±±í£¬ÒªÇó°üÀ¨±àºÅºÍÊÕÈ룬ѡÔñÊÕÈëÔÚ1500ÔªÒÔÉϵĹÍÔ± ÓɱíEmployees´´½¨¡°EmployeesNew¡±±í£¬ÒªÇó°üÀ¨±àºÅºÍÐÕÃû£¬Ñ¡ÔñËùÓÐÄÐÔ±¹¤

¶þ¡¢×Ó²éѯµÄʹÓÃ

1. ²éÕÒÔÚ²ÆÎñ²¿¹¤×÷µÄ¹ÍÔ±Çé¿ö

2. ÓÃ×Ó²éѯµÄ·½·¨²éÕÒËùÓÐÊÕÈëÔÚ2500ÒÔϵĹÍÔ±µÄÇé¿ö 3. ²éÕÒ²ÆÎñ²¿ÄêÁä²»µÍÓÚÑз¢²¿¹ÍÔ±ÄêÁäµÄ¹ÍÔ±ÐÕÃû

4. ÓÃ×Ó²éѯµÄ·½·¨²éÕÒÑз¢²¿±ÈËùÓвÆÎñ²¿¹ÍÔ±ÊÕÈë¶¼¸ßµÄ¹ÍÔ±µÄÐÕÃû 5. ²éÕÒ±ÈËùÓвÆÎñ²¿µÄ¹ÍÔ±ÊÕÈë¶¼¸ßµÄ¹ÍÔ±µÄÐÕÃû

6. ÓÃ×Ó²éѯµÄ·½·¨²éÕÒËùÓÐÄêÁä±ÈÑз¢²¿¹ÍÔ±ÄêÁä¶¼´óµÄ¹ÍÔ±µÄÐÕÃû

Èý¡¢Á¬½Ó²éѯµÄʹÓÃ

1. ²éѯÿ¸ö¹ÍÔ±µÄÇé¿ö¼°Ð½Ë®µÄÇé¿ö

2. ²éѯÿ¸ö¹ÍÔ±µÄÇé¿ö¼°Æä¹¤×÷²¿ÃŵÄÇé¿ö

3. ʹÓÃÄÚÁ¬½ÓµÄ·½·¨²éѯÃû×ÖΪ¡°ÍõÁÖ¡±µÄ¹ÍÔ±ËùÔڵIJ¿ÃÅ 4. ʹÓÃÄÚÁ¬½ÓµÄ·½·¨²éÕÒ³ö²»ÔÚ²ÆÎñ²¿¹¤×÷µÄËùÓйÍÔ±ÐÅÏ¢ 5. ʹÓÃÍâÁ¬½Ó·½·¨²éÕÒ³öËùÓÐÔ±¹¤µÄÔÂÊÕÈë

6. ²éÕÒ²ÆÎñ²¿ÊÕÈëÔÚ2000ÔªÒÔÉϵĹÍÔ±ÐÕÃû¼°ÆäнˮÏêÇé 7. ²éѯÑз¢²¿ÔÚ1976ÄêÒÔǰ³öÉúµÄ¹ÍÔ±ÐÕÃû¼°ÆäнˮÏêÇë

ËÄ¡¢¾ÛºÏº¯ÊýµÄʹÓÃ

1. Çó²ÆÎñ²¿¹ÍÔ±µÄƽ¾ùÊÕÈë

2. ²éѯ²ÆÎñ²¿¹ÍÔ±µÄ×î¸ßºÍ×îµÍÊÕÈë 3. Çó²ÆÎñ²¿¹ÍÔ±µÄƽ¾ùʵ¼ÊÊÕÈë

4. ²éѯ²ÆÎñ²¿¹ÍÔ±µÄ×î¸ßºÍ×îµÍʵ¼ÊÊÕÈë 5. Çó²ÆÎñ²¿¹ÍÔ±µÄ×ÜÈËÊý

6. ͳ¼Æ²ÆÎñ²¿ÊÕÈëÔÚ2500ÔªÒÔÉϵĹÍÔ±ÈËÊý

Îå¡¢GROUP BY¡¢ORDER BY×Ó¾äµÄʹÓà 1. ²éÕÒEmployees±íÖÐÄÐÐÔºÍÅ®ÐÔµÄÈËÊý 2. °´²¿ÃÅÁгöÔڸò¿Ãʤ×÷µÄÔ±¹¤µÄÈËÊý

3. °´Ô±¹¤µÄѧÀú·Ö×飬ÅÅÁгö±¾¿Æ¡¢´óר¡¢Ë¶Ê¿µÄÈËÊý 4. ²éÕÒÔ±¹¤Êý³¬¹ý2µÄ²¿ÃÅÃû³ÆºÍ¹ÍÔ±ÊýÁ¿

5. °´Ô±¹¤µÄ¹¤×÷Äê·Ý·Ö×飬ͳ¼Æ¸÷¸ö¹¤×÷Äê·ÝµÄÈËÊý£¬ÀýÈ繤×÷1ÄêµÄ¶àÉÙÈË£¬¹¤×÷2ÄêµÄ¶àÉÙÈË

6. ½«¹ÍÔ±µÄÇé¿ö°´ÊÕÈëÓɵ͵½¸ßÅÅÁÐ 7. ½«Ô±¹¤ÐÅÏ¢°´³öÉúʱ¼ä´ÓСµ½´óÅÅÁÐ

8. ÔÚORDER BY ×Ó¾äÖÐʹÓÃ×Ó²éѯ£¬²éѯԱ¹¤ÐÕÃû¡¢ÐÔ±ðºÍ¹¤ÁäÐÅÏ¢£¬ÒªÇó°´Êµ¼ÊÊÕÈë´Ó´óµ½Ð¡ÅÅÁÐ

Áù¡¢ÊÓͼµÄʹÓà 1. ´´½¨ÊÓͼ

£¨1£©ÔÚÊý¾Ý¿âYGGLÉÏ´´½¨ÊÓͼDepartments_View£¬ÊÓͼ°üº¬Department±íµÄÈ«²¿ÁÐ £¨2£©´´½¨ÊÓͼEmployees_Departments_View£¬ÊÓͼ°üº¬Ô±¹¤ºÅÂë¡¢ÐÕÃû¡¢ËùÔÚ²¿ÃÅÃû³Æ £¨3£©´´½¨ÊÓͼEmployees_Salary_View£¬ÊÓͼ°üº¬Ô±¹¤ºÅÂë¡¢ÐÕÃûºÍʵ¼ÊÊÕÈëÈýÁÐ 2. ²éѯÊÓͼ

´ÓÊÓͼEmployees_Salary_ViewÖвéѯ³öÐÕÃûΪ¡°ÍõÁÖ¡±µÄÔ±¹¤µÄʵ¼ÊÊÕÈë 3. ¸üÐÂÊÓͼ

£¨1£©ÏòÊÓͼDepartments_ViewÖÐÌí¼ÓÒ»Ìõ¼Ç¼£¨¡®6¡¯£¬¡®¹ã¸æ²¿¡¯£¬¡®¹ã¸æÒµÎñ¡¯£© Ö´ÐÐÍêÃüÁîºó£¬·Ö±ð²é¿´Departments_ViewºÍDepartment±íÖз¢ÉúµÄ±ä»¯

£¨2£©³¢ÊÔÏòEmployees_Departments_ViewÖÐÌí¼ÓÒ»Ìõ¼Ç¼£¬¿´¿´»á·¢ÉúʲôÇé¿ö £¨3£©³¢ÊÔÏòEmployees_Salary_ViewÖÐÌí¼ÓÒ»Ìõ¼Ç¼£¬¿´¿´»á·¢ÉúʲôÇé¿ö

£¨4£©½«ÊÓͼDepartments_ViewÖУ¬²¿ÃźÅΪ¡®6¡¯µÄ²¿ÃÅÃû³ÆÐÞ¸ÄΪ¡®Éú²ú³µ¼ä¡¯ £¨5£©É¾³ýÊÓͼDepartments_ViewÖÐ×îÐÂÔö¼ÓµÄµÄÒ»Ìõ¼Ç¼ 4. ɾ³ýÊÓͼ Employees_Departments_View 5. ÔÚ½çÃæ¹¤¾ßÖвÙ×÷ÊÓͼ

Ò»¡¢SELECTÓï¾äµÄ»ù±¾Ê¹ÓÃ

1. ²éѯEmployees±íÖÐËùÓÐÊý¾Ý SELECT * FROM Employees; 2. ²éѯEmployees±íÖÐÖ¸¶¨×Ö¶ÎÊý¾Ý

SELECT EmployeeID,Name,DepartmentID FROM Employees;

3. ²éѯEmployees±íÖеIJ¿ÃźźÍÐÔ±ð£¬ÒªÇóʹÓÃDistinctÏû³ýÖØ¸´ÐÐ SELECT Distinct DepartmentID,Sex FROM Employees; 4. ʹÓÃWHERE×Ó¾ä²éѯ±íÖÐÖ¸¶¨µÄÊý¾Ý ²éѯ±àºÅΪ¡¯000001¡¯µÄ¹ÍÔ±µÄµØÖ·ºÍµç»°

Select Address,PhoneNumber FROM Employees WHERE EmployeeID='000001';

²éѯÔÂÊÕÈë¸ßÓÚ2000ÔªµÄÔ±¹¤ºÅÂë

SELECT EmployeeID FROM Salary WHERE InCome>2000;

²éѯ1970ÄêÒÔºó³öÉúµÄÔ±¹¤µÄÐÕÃûºÍסַ

SELECT Name,Address FROM Employees WHERE YEAR(Birthday)>'1970'; SELECT Name,Address FROM Employees WHERE Birthday>'1970';

5. ʹÓÃAS×Ó¾äΪ±íÖÐ×Ö¶ÎÖ¸¶¨±ðÃû

²éѯEmployees±íÖÐÅ®¹ÍÔ±µÄµØÖ·ºÍµç»°£¬²¢½«ÁбêÌâÏÔʾΪµØÖ·ºÍµç»° SELECT Address AS µØÖ·,PhoneNumber AS µç»° FROM Employees; ²éѯEmployees±íÖÐÄйÍÔ±µÄÐÕÃûºÍ³öÉúÈÕÆÚ£¬²¢½«ÁбêÌâÏÔʾΪÐÕÃûºÍ³öÉúÈÕÆÚ

SELECT Name AS ÐÕÃû,Birthday AS ³öÉúÈÕÆÚ FROM Employees WHERE Sex=1;

6. ʹÓÃʹÓÃCASE×Ó¾ä

²éѯEmployees±íÖÐÔ±¹¤µÄÐÕÃûºÍÐÔ±ð£¬ÒªÇóSexֵΪ1ʱÏÔʾ¡°ÄС±£¬Îª0ʱÏÔʾ¡°Å®¡±

SELECT Name AS ÐÕÃû, CASE

WHEN Sex=1 THEN 'ÄÐ' WHEN Sex=0 THEN 'Å®' END

AS ÐÔ±ð

FROM Employees;

²éѯEmployees±íÖÐÔ±¹¤µÄÐÕÃû¡¢×¡Ö·ºÍÊÕÈëˮƽ£¬2000ÔªÒÔÏÂÏÔʾΪµÍÊÕÈ룬2000~3000µØÏÔʾΪÖеÈÊÕÈ룬3000ÔªÒÔÉÏÏÔʾΪ¸ßÊÕÈë¡£

SELECT

a.Name AS ÐÕÃû,a.Address as סַ, CASE

WHEN b.InCome<2000 THEN 'µÍÊÕÈë'

WHEN b.InCome BETWEEN 2000 AND 3000 THEN 'ÖеÈÊÕÈë'

WHEN b.InCome >3000 THEN '¸ßÊÕÈë' END

AS ÊÕÈëˮƽ

FROM Employees a,Salary b

WHERE a.EmployeeID=b.EmployeeID;

7. ʹÓÃSELECTÓï¾ä½øÐмòµ¥¼ÆËã

ÔÚSalary±íÖУ¬¼ÆËãÿ¸ö¹ÍÔ±µÄʵ¼ÊÊÕÈ룬²¢ÏÔʾ¹ÍÔ±±àºÅºÍʵ¼ÊÊÕÈë

SELECT EmployeeID AS ¹ÍÔ±±àºÅ,InCome-OutCome AS ʵ¼ÊÊÕÈë FROM Salary;

8. ʹÓþۺϺ¯Êý »ñµÃÔ±¹¤×ÜÊý

SELECT COUNT(*) FROM Employees;

¼ÆËãSalary±íÖÐÔ±¹¤ÔÂÊÕÈëµÄƽ¾ùÊý

SELECT AVG(InCome) AS ƽ¾ùÊÕÈë FROM Salary;

»ñµÃEmployees±íÖÐ×î´óµÄÔ±¹¤ºÅÂë

SELECT MAX(EmployeeID) AS ¹ÍÔ±±àºÅ FROM Employees;

¼ÆËãSalary±íÖÐËùÓÐÔ±¹¤µÄ×ÜÖ§³ö

SELECT SUM(OutCome) AS ×ÜÖ§³ö FROM Salary;

²éѯ²ÆÎñ²¿¹ÍÔ±µÄ×î¸ßºÍ×îµÍʵ¼ÊÊÕÈë

SELECT MAX(InCome-OutCome) AS ×î¸ßÊÕÈë,MIN(InCome-OutCome) AS ×îµÍÊÕÈë FROM Salary;

9. Ä£ºý²éѯ

ÕÒ³öËùÓÐÐÕÍõµÄ¹ÍÔ±µÄ²¿ÃźÅ

SELECT DepartmentID AS ²¿ÃźŠFROM Employees WHERE Name like 'Íõ%';

ÕÒ³öËùÓеØÖ·Öк¬ÓС°ÖÐɽ¡±µÄ¹ÍÔ±µÄ±àºÅ¼°²¿ÃźÅ

SELECT EmployeeID AS ¹ÍÔ±±àºÅ,DepartmentID AS ²¿ÃźŠFROM Employees WHERE Address like '%ÖÐɽ%'

ÕÒ³ö¹ÍÔ±±àºÅÖе¹ÊýµÚ¶þ¸öÊý×ÖΪ0¹ÍÔ±µÄ±àºÅµÄÐÕÃû¡¢µØÖ·ºÍѧÀú

SELECT EmployeeID AS ¹ÍÔ±±àºÅ,Name AS ÐÕÃû,Address AS µØÖ·,Education AS ѧÀú FROM Employees WHERE SUBSTRING(EmployeeID,5,1)='0';

10. Between¡­And¡­ºÍOrµÄʹÓÃ

ÕÒ³öÊÕÈëÔÚ2000~3000ÔªÖ®¼äµÄ¹ÍÔ±±àºÅ

SELECT EmployeeID,InCome FROM Salary WHERE InCome BETWEEN 2000 AND 3000;

ÕÒ³ö²¿ÃÅΪ¡°1¡±»ò¡°2¡±µÄ¹ÍÔ±µÄ±àºÅ

SELECT EmployeeID,DepartmentID FROM Employees WHERE DepartmentID='1' OR DepartmentID='2';

11. ʹÓÃINTO×Ӿ䣬ÓÉÔ´±í´´½¨Ð±í

ÓɱíSalary´´½¨¡°SalaryNew¡±±í£¬ÒªÇó°üÀ¨±àºÅºÍÊÕÈ룬ѡÔñÊÕÈëÔÚ1500ÔªÒÔÉϵĹÍÔ±

SELECT EmployeeID,InCome INTO SalaryNew FROM Salary WHERE InCome>1500;

ÓɱíEmployees´´½¨¡°EmployeesNew¡±±í£¬ÒªÇó°üÀ¨±àºÅºÍÐÕÃû£¬Ñ¡ÔñËùÓÐÄÐÔ±¹¤

SELECT EmployeeID,Name INTO EmployeesNew FROM Employees WHERE Sex=1;

¶þ¡¢×Ó²éѯµÄʹÓÃ

1. ²éÕÒÔÚ²ÆÎñ²¿¹¤×÷µÄ¹ÍÔ±Çé¿ö

--·ÖÎö:¹ÍÔ±±íºÍ²¿Ãűíͨ¹ýDepartmentID½øÐйØÁª --1)ÔÚDepartments±íÖвéÕÒ²ÆÎñ²¿µÄ±àºÅ --2)ÔÚEmployees±íÖвéÕÒ²¿ÃŵĹÍÔ±Çé¿ö

SELECT * FROM Employees WHERE DepartmentID =(

SELECT DepartmentID FROM Departments WHERE DepartmentName='²ÆÎñ²¿');

2. ÓÃ×Ó²éѯµÄ·½·¨²éÕÒËùÓÐÊÕÈëÔÚ2500ÒÔϵĹÍÔ±µÄÇé¿ö

--·ÖÎö:Ô±¹¤±íºÍÊÕÈë±íͨ¹ýEmployeeID½øÐйØÁª

SELECT * FROM Employees WHERE EmployeeID IN ( SELECT EmployeeID FROM Salary WHERE InCome<2500);

3. ²éÕÒ²ÆÎñ²¿ÄêÁä²»µÍÓÚÑз¢²¿¹ÍÔ±ÄêÁäµÄ¹ÍÔ±ÐÕÃû

--·ÖÎö:¹ÍÔ±±íºÍ²¿Ãűíͨ¹ýDepartmentID½øÐйØÁª --1)ÏÈÕÒµ½Ñз¢²¿µÄ²¿ÃűàºÅ

--2)ÔÙͨ¹ý²¿ÃűàºÅÕÒµ½Ñз¢²¿µÄ¹ÍÔ±ÄêÁä

--3)ÔÙÕÒµ½²ÆÎñ²¿µÄ²¿ÃűàºÅ,²¢Í¨¹ý²¿ÃűàºÅ²éÕÒ¹ÍÔ±ÐÕÃû,Ìõ¼þÊÇÄêÁä²»µÍÓÚËùÓÐÑз¢²¿¹ÍÔ±ÄêÁä

SELECT Name FROM Employees WHERE DepartmentID in (

SELECT DepartmentID FROM Departments WHERE DepartmentName='²ÆÎñ²¿') AND Birthday !> ALL(

SELECT Birthday FROM Employees WHERE DepartmentID in(

SELECT DepartmentID FROM Departments WHERE DepartmentName='Ñз¢²¿'));

4. ÓÃ×Ó²éѯµÄ·½·¨²éÕÒÑз¢²¿±ÈËùÓвÆÎñ²¿¹ÍÔ±ÊÕÈë¶¼¸ßµÄ¹ÍÔ±µÄÐÕÃû

--1)²éÕÒ²ÆÎñ²¿¹ÍÔ±µÄÊÕÈë

--2)²éÕÒÑз¢²¿¹ÍÔ±µÄ±àºÅ,Ìõ¼þÊÇÊÕÈë±ÈËùÓвÆÎñ²¿¹ÍÔ±ÊÕÈë¶¼¸ß --3)ͨ¹ý±àºÅÕÒµ½¹ÍÔ±ÐÕÃû

SELECT Name FROM Employees WHERE EmployeeID IN ( SELECT EmployeeID FROM Salary WHERE EmployeeID IN( SELECT EmployeeID FROM Employees WHERE DepartmentID =(

SELECT DepartmentID FROM Departments WHERE DepartmentName='Ñз¢²¿')) AND InCome > ALL(

SELECT InCome FROM Salary WHERE EmployeeID IN(

SELECT EmployeeID FROM Employees WHERE DepartmentID =(

SELECT DepartmentID FROM Departments WHERE DepartmentName='²ÆÎñ²¿'))));

5. ²éÕÒ±ÈËùÓвÆÎñ²¿µÄ¹ÍÔ±ÊÕÈë¶¼¸ßµÄ¹ÍÔ±µÄÐÕÃû

--·ÖÎö:1)²éÕÒËùÓвÆÎñ²¿µÄ¹ÍÔ±ÊÕÈë

--2)²éÕÒÆäËû¹ÍÔ±±àºÅ,Ìõ¼þÊÇÊÕÈë±ÈËùÓвÆÎñ²¿µÄ¹ÍÔ±ÊÕÈë¶¼¸ß --3)ͨ¹ý±àºÅÕÒµ½ÐÕÃû

SELECT Name FROM Employees WHERE EmployeeID IN( SELECT EmployeeID FROM Salary WHERE InCome>ALL( SELECT InCome FROM Salary Where EmployeeID IN (

SELECT EmployeeID FROM Employees Where DepartmentID =(

SELECT DepartmentID FROM Departments WHERE DepartmentName='²ÆÎñ²¿'))));

6. ÓÃ×Ó²éѯµÄ·½·¨²éÕÒËùÓÐÄêÁä±ÈÑз¢²¿¹ÍÔ±ÄêÁä¶¼´óµÄ¹ÍÔ±µÄÐÕÃû

--·ÖÎö:ÄêÁä¶¼´óµÈ¼ÛÓÚÉúÈÕ¶¼Ð¡ --1)ÕÒµ½ËùÓÐÑз¢²¿¹ÍÔ±µÄÉúÈÕ

--2)ÕÒµ½ÆäËû²¿ÃŹÍÔ±µÄÐÕÃû,Ìõ¼þÊÇÉúÈÕ±ÈÑз¢²¿µÄËùÓйÍÔ±µÄÉúÈÕ¶¼Ð¡ SELECT Name FROM Employees WHERE Birthday < ALL ( SELECT Birthday FROM Employees WHERE DepartmentID IN (

SELECT DepartmentID FROM Departments WHERE DepartmentName = 'Ñз¢²¿'));

Èý¡¢Á¬½Ó²éѯµÄʹÓÃ

1. ²éѯÿ¸ö¹ÍÔ±µÄÇé¿ö¼°Ð½Ë®µÄÇé¿ö

SELECT a.*,b.*

FROM Employees a,Salary b WHERE a.EmployeeID=b.EmployeeID;

2. ²éѯÿ¸ö¹ÍÔ±µÄÇé¿ö¼°Æä¹¤×÷²¿ÃŵÄÇé¿ö

SELECT a.*,b.*

FROM Employees a,Departments b WHERE a.DepartmentID=b.DepartmentID;

3. ʹÓÃÄÚÁ¬½ÓµÄ·½·¨²éѯÃû×ÖΪ¡°ÍõÁÖ¡±µÄ¹ÍÔ±ËùÔڵIJ¿ÃÅ

SELECT b.DepartmentName FROM Departments b INNER JOIN Employees a

ON a.DepartmentID=b.DepartmentID Where a.Name='ÍõÁÖ';

4. ʹÓÃÄÚÁ¬½ÓµÄ·½·¨²éÕÒ³ö²»ÔÚ²ÆÎñ²¿¹¤×÷µÄËùÓйÍÔ±ÐÅÏ¢

SELECT a.* FROM Employees a INNER JOIN Departments b

ON a.DepartmentID=b.DepartmentID WHERE b.DepartmentName!='²ÆÎñ²¿';

5. ʹÓÃÍâÁ¬½Ó·½·¨²éÕÒ³öËùÓÐÔ±¹¤µÄÔÂÊÕÈë

SELECT * FROM Employees a LEFT OUTER JOIN Salary b ON a.EmployeeID=b.EmployeeID;

6. ²éÕÒ²ÆÎñ²¿ÊÕÈëÔÚ2000ÔªÒÔÉϵĹÍÔ±ÐÕÃû¼°ÆäнˮÏêÇé

SELECT a.*,b.InCome FROM Employees a INNER JOIN Salary b

ON a.EmployeeID=b.EmployeeID INNER JOIN Departments c

ON a.DepartmentID=c.DepartmentID

WHERE b.InCome>2000 AND c.DepartmentName='²ÆÎñ²¿';

7. ²éѯÑз¢²¿ÔÚ1976ÄêÒÔǰ³öÉúµÄ¹ÍÔ±ÐÕÃû¼°ÆäнˮÏêÇë

SELECT a.*,b.InCome FROM Employees a INNER JOIN Salary b

ON a.EmployeeID=b.EmployeeID INNER JOIN Departments c

ON a.DepartmentID=c.DepartmentID

WHERE c.DepartmentName='Ñз¢²¿' AND a.Birthday>'1976'

ËÄ¡¢¾ÛºÏº¯ÊýµÄʹÓÃ

1. Çó²ÆÎñ²¿¹ÍÔ±µÄƽ¾ùÊÕÈë

SELECT AVG(a.InCome) FROM Salary a INNER JOIN Employees b

ON a.EmployeeID=b.EmployeeID INNER JOIN Departments c

ON c.DepartmentID=b.DepartmentID WHERE c.DepartmentName='²ÆÎñ²¿';

2. ²éѯ²ÆÎñ²¿¹ÍÔ±µÄ×î¸ßºÍ×îµÍÊÕÈë

SELECT MIN(a.InCome),MAX(a.InCome) FROM Salary a INNER JOIN Employees b ON a.EmployeeID=b.EmployeeID INNER JOIN Departments c

ON c.DepartmentID=b.DepartmentID WHERE c.DepartmentName='²ÆÎñ²¿';

3. Çó²ÆÎñ²¿¹ÍÔ±µÄƽ¾ùʵ¼ÊÊÕÈë

SELECT AVG(a.InCome-a.OutCome) FROM Salary a INNER JOIN Employees b ON a.EmployeeID=b.EmployeeID INNER JOIN Departments c

ON c.DepartmentID=b.DepartmentID WHERE c.DepartmentName='²ÆÎñ²¿';

4. ²éѯ²ÆÎñ²¿¹ÍÔ±µÄ×î¸ßºÍ×îµÍʵ¼ÊÊÕÈë

SELECT MIN(a.InCome-a.OutCome),MAX(a.InCome-a.OutCome) FROM Salary a INNER JOIN Employees b ON a.EmployeeID=b.EmployeeID INNER JOIN Departments c

ON c.DepartmentID=b.DepartmentID WHERE c.DepartmentName='²ÆÎñ²¿';

5. Çó²ÆÎñ²¿¹ÍÔ±µÄ×ÜÈËÊý

SELECT COUNT(a.EmployeeID) FROM Employees a INNER JOIN Departments b

ON a.DepartmentID=b.DepartmentID WHERE b.DepartmentName='²ÆÎñ²¿';

6. ͳ¼Æ²ÆÎñ²¿ÊÕÈëÔÚ2500ÔªÒÔÉϵĹÍÔ±ÈËÊý

SELECT COUNT(a.EmployeeID) FROM Employees a INNER JOIN Departments b

ON a.DepartmentID=b.DepartmentID INNER JOIN Salary c

ON c.EmployeeID=A.EmployeeID

WHERE c.InCome>2500 AND b.DepartmentName='²ÆÎñ²¿';

Îå¡¢GROUP BY¡¢ORDER BY×Ó¾äµÄʹÓà 1. ²éÕÒEmployees±íÖÐÄÐÐÔºÍÅ®ÐÔµÄÈËÊý

SELECT Sex,COUNT(Sex) FROM Employees GROUP BY Sex;

2. °´²¿ÃÅÁгöÔڸò¿Ãʤ×÷µÄÔ±¹¤µÄÈËÊý

--ʹÓÃÄÚÁ¬½ÓµÄ·½·¨

SELECT b.DepartmentName,COUNT(a.EmployeeID) FROM Employees a

INNER JOIN Departments b

ON a.DepartmentID=b.DepartmentID GROUP BY b.DepartmentName;

--ʹÓöà±í²éѯ·½·¨,GROUP BYºóÃæµÄ×Ö¶Î,±ØÐë³öÏÖÔÚSELECTÓï¾äÒª²éѯµÄ×Ö¶ÎÖС£ SELECT b.DepartmentName,COUNT(a.EmployeeID) FROM Employees a,Departments b

WHERE a.DepartmentID=b.DepartmentID GROUP BY b.DepartmentName;

3. °´Ô±¹¤µÄѧÀú·Ö×飬ÅÅÁгö±¾¿Æ¡¢´óר¡¢Ë¶Ê¿µÄÈËÊý

SELECT a.Education,COUNT(a.EmployeeID) FROM Employees a GROUP BY a.Education;

4. ²éÕÒÔ±¹¤Êý³¬¹ý2µÄ²¿ÃÅÃû³ÆºÍ¹ÍÔ±ÊýÁ¿

SELECT b.DepartmentName,COUNT(a.EmployeeID) FROM Employees a,Departments b

WHERE a.DepartmentID=b.DepartmentID GROUP BY b.DepartmentName HAVING COUNT(a.EmployeeID)>2;

5. °´Ô±¹¤µÄ¹¤×÷Äê·Ý·Ö×飬ͳ¼Æ¸÷¸ö¹¤×÷Äê·ÝµÄÈËÊý£¬ÀýÈ繤×÷1ÄêµÄ¶àÉÙÈË£¬¹¤×÷2ÄêµÄ¶àÉÙÈË

SELECT a.WorkYear,COUNT(a.EmployeeID) FROM Employees a GROUP BY a.WorkYear;

6. ½«¹ÍÔ±µÄÇé¿ö°´ÊÕÈëÓɵ͵½¸ßÅÅÁÐ

SELECT a.*,b.InCome FROM Employees a,Salary b WHERE a.EmployeeID=b.EmployeeID ORDER BY b.InCome ASC;

7. ½«Ô±¹¤ÐÅÏ¢°´³öÉúʱ¼ä´ÓСµ½´óÅÅÁÐ

SELECT * FROM Employees ORDER BY Birthday;

8. ÔÚORDER BY ×Ó¾äÖÐʹÓÃ×Ó²éѯ£¬²éѯԱ¹¤ÐÕÃû¡¢ÐÔ±ðºÍ¹¤ÁäÐÅÏ¢£¬ÒªÇó°´Êµ¼ÊÊÕÈë´Ó´óµ½Ð¡ÅÅÁÐ

SELECT a.Name,a.Sex,a.WorkYear,b.InCome-b.OutCome FROM Employees a,Salary b

WHERE a.EmployeeID=b.EmployeeID ORDER BY b.InCome-b.OutCome DESC;

Áù¡¢ÊÓͼµÄʹÓà 1. ´´½¨ÊÓͼ

£¨1£©ÔÚÊý¾Ý¿âYGGLÉÏ´´½¨ÊÓͼDepartments_View£¬ÊÓͼ°üº¬Department±íµÄÈ«²¿ÁÐ

USE YGGL GO

CREATE VIEW Departments_View

AS SELECT * FROM Departments;

£¨2£©´´½¨ÊÓͼEmployees_Departments_View£¬ÊÓͼ°üº¬Ô±¹¤ºÅÂë¡¢ÐÕÃû¡¢ËùÔÚ²¿ÃÅÃû³Æ

USE YGGL GO

CREATE VIEW Employees_Departments_View

AS SELECT a.EmployeeID,a.Name,b.DepartmentName FROM Employees a, WHERE a.DepartmentID=b.DepartmentID; Departments b

£¨3£©´´½¨ÊÓͼEmployees_Salary_View£¬ÊÓͼ°üº¬Ô±¹¤ºÅÂë¡¢ÐÕÃûºÍʵ¼ÊÊÕÈëÈýÁÐ

USE YGGL GO

CREATE VIEW Employees_Salary_View(EmployeeID,Name,RealInCome)

AS SELECT a.EmployeeID,a.Name,b.InCome-b.OutCome FROM Employees a, WHERE a.EmployeeID=b.EmployeeID; Salary b

2. ²éѯÊÓͼ

´ÓÊÓͼEmployees_Salary_ViewÖвéѯ³öÐÕÃûΪ¡°ÍõÁÖ¡±µÄÔ±¹¤µÄʵ¼ÊÊÕÈë

SELECT * FROM Employees_Salary_View WHERE Name='ÍõÁÖ';

3. ¸üÐÂÊÓͼ

£¨1£©ÏòÊÓͼDepartments_ViewÖÐÌí¼ÓÒ»Ìõ¼Ç¼£¨¡®6¡¯£¬¡®¹ã¸æ²¿¡¯£¬¡®¹ã¸æÒµÎñ¡¯£© Ö´ÐÐÍêÃüÁîºó£¬·Ö±ð²é¿´Departments_ViewºÍDepartment±íÖз¢ÉúµÄ±ä»¯ INSERT INTO Departments_View VALUES('6','¹ã¸æ²¿','¹ã¸æÒµÎñ'); £¨2£©³¢ÊÔÏòEmployees_Departments_ViewÖÐÌí¼ÓÒ»Ìõ¼Ç¼£¬¿´¿´»á·¢ÉúʲôÇé¿ö

INSERT INTO Employees_Departments_View VALUES('777777','СÁÖ','×ÛºÏÒµÎñ²¿');

--ÊÓͼ»òº¯Êý'Employees_Departments_View' ²»¿É¸üУ¬ÒòΪÐ޸ĻáÓ°Ïì¶à¸ö»ù±í¡£ --DepartmentID·Ö±ðΪEmployees±íÖеÄÍâ¼üºÍDepartments±íÖеÄÖ÷¼ü,²¢ÇÒ¾ù²»Îª¿Õ,

--ÕâÌõINSERTÓï¾äÏ൱ÓÚ¸øÎª±íEmployeesºÍ±íDepartmentsÌí¼ÓÒ»ÌõDepartmentIDΪ¿ÕµÄ¼Ç¼,ÏÔÈ»ÊÇ·Ç·¨µÄ.

£¨3£©³¢ÊÔÏòEmployees_Salary_ViewÖÐÌí¼ÓÒ»Ìõ¼Ç¼£¬¿´¿´»á·¢ÉúʲôÇé¿ö

INSERT INTO Employees_Salary_View VALUES('777777','СÁÖ',3000);

--¶ÔÊÓͼ»òº¯Êý'Employees_Salary_View' µÄ¸üлò²åÈëʧ°Ü£¬ÒòÆä°üº¬ÅÉÉúÓò»ò³£Á¿Óò¡£ --RealInCome¾ÍÊÇÅÉÉúÓò,ËüÊÇÓÉInCome-OutCome»ñµÃµÄ.

£¨4£©½«ÊÓͼDepartments_ViewÖУ¬²¿ÃźÅΪ¡®6¡¯µÄ²¿ÃÅÃû³ÆÐÞ¸ÄΪ¡®Éú²ú³µ¼ä¡¯

UPDATE Departments_View SET DepartmentName='Éú²ú³µ¼ä' WHERE DepartmentID='6';

£¨5£©É¾³ýÊÓͼDepartments_ViewÖÐ×îÐÂÔö¼ÓµÄµÄÒ»Ìõ¼Ç¼

DELETE FROM Departments_View WHERE DepartmentID='6';

×ܽ᣺һ°ã²»½¨ÒéÖ±½Ó¶ÔÊÓͼ½øÐÐÔö¼Ó¡¢Ð޸ġ¢É¾³ýµÄ²Ù×÷¡£

4. ɾ³ýÊÓͼ Employees_Departments_View

DROP VIEW Employees_Departments_View; --ɾ³ýÊÓͼµÄ²Ù×÷²¢²»»áɾ³ý»ù±í.

5. ÔÚ½çÃæ¹¤¾ßÖвÙ×÷ÊÓͼ ÑÝʾн¨ÊÓͼºÍ²éѯÊÓͼ