首页 理论教育 使用内联接的方法-SQLServer数据库教程

使用内联接的方法-SQLServer数据库教程

时间:2023-11-03 理论教育 版权反馈
【摘要】:内部联接使用比较运算符比较要联接列中的值,它返回符合联接条件的行。下例列出所有学员的成绩信息,不包含未参考人员。SQL语句如下:执行以上SQL语句,查询结果如图4.47所示。A.SELECT LastName,FristName From EmployeeB.SELECT * From Employee ORDER BY LastName,FristNameC.SELECT LastName + FristName From EmployeeD.SELECT LastName And FirstName From Employee3.执行以下SQL语句:SELECT TOP 40 PERCENT SName,SAddress FROM Students结果返回了20行数据,则( )。

使用内联接的方法-SQLServer数据库教程

内部联接使用比较运算符比较要联接列中的值,它返回符合联接条件的行。

下例列出所有学员的成绩信息,不包含未参考人员。SQL语句如下:

执行以上SQL语句,查询结果如图4.47所示。

图4.47 查询除未参考人员以外的所有学员的成绩信息

总结

本章学习了SELECT语句各子句的使用,常见的SELECT子句如下:

➢SELECT

➢WHERE

➢ORDER BY

➢GROUP BY

➢HAVING

➢INTO

作业

1.设Employee表有三列EmpID、EmpGrade、EmpSalaryGrade,并且列值都是整数数据类型,则以下哪行查询语句能正确执行?( )(选择一项)

A.SELECT EmpID FROM Employee ORDER BY EmpID WHERE EmpID=EmpGrade

B.SELECT EmpID FROM Employee WHERE EmpID=EmpGrade=EmpSalaryGrade

C.SELECT EmpID FROM Employee ORDER BY EmpGrade + EmpSalaryGrade

D.SELECT EmpID,EmpGrade FROM Employee WHERE EmpGrade + EmpSalaryGrade

2.Employee表中LastName列保存顾客的姓,FirstName列保存顾客的名,现在,需要查询顾客姓名的组合,例如LastName列中的“张”,同一行FirstName列中的“国华”,查询结果应该返回“张国华”,则正确地查询语句应该是( )。(选择一项)

A.SELECT LastName,FristName From Employee

B.SELECT * From Employee ORDER BY LastName,FristName

C.SELECT LastName + FristName From Employee

D.SELECT LastName And FirstName From Employee

3.执行以下SQL语句:SELECT TOP 40 PERCENT SName,SAddress FROM Students结果返回了20行数据,则( )。(选择一项)

A.表Students中只有40行数据

B.表Students中只有20行数据

C.表Students中大约有50行数据

D.表Students中大约有100行数据

4.SELECT子句练习

(1) 查询职员表的所有信息;

(2) 查询职员表中的职员编号、职员姓名、电子邮件、电话号码;

(3) 查询员工的职员编号、职员姓名和职员年薪

(4) 查询职员表中的职员编号、职员姓名、入职时间、薪资,并将列名显示为中文;

(5) 从职员表中,查询公司现有哪些部门,给出这些部门的编号;

(6) 从任职历史记录表中,查询有部门或职务变动的所有职员的编号;(选做)

(7) 查询职员表中前2位职员的信息。

5.聚合函数的使用

(1) 查询职员总人数;

(2) 查询3号部门的总人数;

(3) 查询部门表中的总部门数;

(4) 查询部门表中有部门主管的部门数;

(5) 查询任职历史记录表中,有过职位或部门变更的职员总数;(www.xing528.com)

(6) 查询职员表中的最高薪资和最低薪资;

(7) 查询职员表中,3号部门的薪资发放总数及薪资平均值。

6.WHERE子句的使用

(1) 查询职员编号为101的职员信息;

(2) 查询入职时间在2008年或以前的职员信息;

(3) 查询薪资在10 000元或以上的职员信息;

(4) 查询工资在2 500到7 000之间的员工信息;

(5) 查询1998年入职的员工信息;

(6) 查询职位编号是ST_CLERK或者ST_MAN的员工;

(7) 查询姓张或是姓李的职员信息;

(8) 查询部门编号以MK开始的职员信息;

(9) 查询职位编号中含有MGR的职位信息;

(10) 查询职员邮件中同时包含有o和u的职员信息;

(11) 查询职员邮件中包含有o或u的职员信息;

(12) 查询职员邮件中,第3个字符是n,第4个字符是g的职员信息;

(13) 查询职位编号含有_M的员工信息;

(14) 查询部门表中,哪些部门没有部门主管;

(15) 查询职员表中,部门主管的名称和职位编号;

(16) 查询不在2010年入职的员工信息;

(17) 查询部门编号为3,工资为5 000及其以上的职员信息;

(18) 查询2010年之后入职,或是薪资在5 000以下的职员信息。

7.ORDER BY子句的使用

(1) 查询职员编号、职员姓名、职员薪资,并按薪资高低降序排序;

(2) 查询职员编号、职员姓名、职员入职时间,并按入职时间升序排序;

(3) 查询职员编号、职员姓名、职员入职时间、部门编号,先按部门编号升序,再按入职时间升序排列;

(4) 查询薪资排名在前2位的职员信息;

(5) 随机从职员表里抽取两位职员,列出其职员编号、职员姓名。

8.GROUP BY子句的使用

(1) 查询职员表中,按部门分类的组别;

(2) 查询职员表中,按部门分类,每个部门的平均薪资;

(3) 查询职员表中,按职位分类,每个职位的最高薪资;

(4) 查询职员表中,按部门分类,薪资在12 000以上的职员人数。

9.HAVING子句的使用

(1) 查询职员表中,平均薪资为7 500及其以上的部门编号及平均薪资;

(2) 查询职员表中,最低工资在8 000以上的部门编号及最低薪资。

扩展练习

INTO子句的使用

(1) 将EMPLOYEES表的数据备份至EMP_TEMP;

(2) 随机从职员表里抽取两位职员,列出其职员编号、职员姓名;

(3) 从任职历史记录表中,查询有部门或职务变动的所有职员的编号;

(4) 查询任职历史记录表中,有过职位或部门变更的职员总数;

(5) 查询职员邮件中同时包含有o和u的职员信息;

(6) 查询职员邮件中包含有o或u的职员信息。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈