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£¬ÊÓͼ°üº¬Ô±¹¤ºÅÂë¡¢ÐÕÃû¡¢ËùÔÚ²¿ÃÅÃû³Æ
Ïà¹ØÍÆ¼ö£º