SQL Select命令实例教程

需积分: 0 0 下载量 51 浏览量 更新于2024-08-31 收藏 61KB PDF 举报
"这个资源主要介绍了SQL查询语句中的`SELECT`命令,通过一系列实际操作示例来帮助学习者掌握其用法。" SQL的`SELECT`命令是用于从数据库中检索数据的核心语句,它允许用户根据需求选择要查询的列、过滤数据、进行聚合操作等。以下是对给定实例的详细解释: 1. 查询员工信息并处理空值 这个例子展示了如何查询员工的编号、姓名、部门和出生日期。如果出生日期是空值,使用`ISNULL`函数将其替换为"日期不详"。`CONVERT`函数则用于将日期转换为指定格式(yyyy-mm-dd)。`ORDER BY`用于按照部门排序结果。 SQL代码: ```sql SELECT emp_no, emp_name, dept, ISNULL(CONVERT(char(10), birthday, 120), '日期不详') AS birthday FROM employee ORDER BY dept ``` 2. 查找与特定员工在同一部门的其他员工 此例中,我们找出所有不在"喻自强"部门的员工,但他们的部门必须出现在"喻自强"的部门列表中。这使用了子查询来获取"喻自强"所在部门,并在主查询中进行比较。 SQL代码: ```sql SELECT emp_no, emp_name, dept, title FROM employee WHERE emp_name <> '喻自强' AND dept IN ( SELECT dept FROM employee WHERE emp_name = '喻自强' ) ``` 3. 按部门汇总工资总额 此操作对员工表进行分组,计算每个部门的工资总和。`GROUP BY`语句用于按部门分组,`SUM`函数用于求和。 SQL代码: ```sql SELECT dept, SUM(salary) AS total_salary FROM employee GROUP BY dept ``` 4. 查询特定商品的销售详情 这个例子展示了如何根据商品名称(14寸显示器)查询销售记录,包括商品编号、销售数量、单价和金额。通过两个表(`sale_item`和`product`)的联接实现。 SQL代码: ```sql SELECT a.prod_id, qty, unit_price, unit_price * qty AS tot_price FROM sale_item a, product b WHERE a.prod_id = b.prod_id AND prod_name = '14寸显示器' ``` 5. 按产品编号汇总销售数量和金额 这个查询计算销售明细表中每种产品的总销售数量和金额,使用`GROUP BY`按产品编号分组,同时使用`SUM`函数分别计算数量和金额。 SQL代码: ```sql SELECT prod_id, SUM(qty) AS tot_qty, SUM(qty * unit_price) AS tot_price FROM sale_item GROUP BY prod_id ``` 6. 统计1996年每个客户的订单总金额 这个例子使用`CONVERT`函数提取订单日期的年份部分,然后筛选出1996年的订单,最后按客户编号分组并计算总金额。 SQL代码: ```sql SELECT cust_id, SUM(tot_amt) AS tot_price FROM sales WHERE CONVERT(char(4), order_date, 120) = '1996' GROUP BY cust_id ``` 7. 查找有销售记录的客户及其订单总额 此查询找到有销售记录的客户,展示他们的编号、名称以及订单总额。通过两个表(`customer`和`sales`)的联接,并使用`GROUP BY`按客户编号分组,计算总金额。 SQL代码: ```sql SELECT a.cust_id, cust_name, SUM(tot_amt) AS tot_price FROM customer a, sales b WHERE a.cust_id = b.cust_id GROUP BY a.cust_id ``` 这些实例覆盖了SQL查询的基本操作,如选择列、条件过滤、数据转换、分组聚合等,是学习SQL查询的实用案例。