MSSQL-联接查询练习题
1. 写一条查询语句,把所有雇员记录复制5次。涉及的表:HR.Employees表和dbo.Nums表。
1 | select e.empid, e.firstname, e.lastname, n.n |
2. 写一个查询,为每个雇员从2009年6月12日至2009年6月16日范围内的每天返回一行。涉及的表:HR.Employees表和dbo.Nums表。
1 | select e.empid, DATEADD(day, n - 1, '20090612') dt |
3. 返回来自美国的客户,并为每个客户返回其订单总数和商品交易总数量。
1 | select c.custid custid, count(o.orderid) numorders, sum(od.qty) totalqty |
4. 返回客户及其订单信息,包括没有下过任何订单的客户。涉及的表:Sales.Customers表和Sales.Orders表。
1 | select c.custid, c.companyname, o.orderid, o.orderdate |
5. 返回没有下过订单的客户。涉及的表:Sales.Customers表和Sales.Orders表。
1 | select c.custid, c.companyname, o.orderid, o.orderdate |
6. 返回在2007年2月12日下过订单的客户,以及他们的订单。涉及的表:Sales.Customers表和Sales.Orders表。
1 |
|
7. 返回在2007年2月12日下过订单的客户,以及他们的订单。同时也返回在2007年2月12日没有下过订单的客户。
1 | select c.custid, c.companyname, o.orderid, o.orderdate |
8. 返回所有的客户信息,并根据客户是否在2007年2月12日下过订单,再为每个客户返回一列Yes/No值。涉及的表:Sales.Customers表和Sales.Orders表。
1 | select distinct c.custid, c.companyname, |