ʵÑé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. ÔÚ½çÃæ¹¤¾ßÖвÙ×÷ÊÓͼ ÑÝʾн¨ÊÓͼºÍ²éѯÊÓͼ