第7讲 数据查询.ppt
文本预览下载声明
数据查询 本章内容 6.1 基本查询 6.2 嵌套查询 6.3 连接查询 6.1 基本查询 SQL数据查询语句是SELECT语句。该语句的基本框架是SELECT-FROM-WHERE,它包含输出字段、数据来源和查询条件等基本子句。在这种固定格式中,可以不要WHERE,但是SELECT和FROM是必备的。SELECT语句的子句很多,理解了这条语句各项的含义,就能从数据库中查询出各种数据。 简单查询 语法格式: SELECT [ALL|DISTINCT] [TOP n [PERCENT]] select_list FROM table_name 说明: (1) ALL:表示输出所有记录,包括重复记录。 (2)select_list:所要查询的选项的集合,多个选项之间用逗号分开。 (3)table_name:要查询的表。 例6-1? 分别显示Sales数据库中的员工表employee、商品表goods、销售表sell_order表和部门表department中的所有记录。 SELECT * FROM employee SELECT * FROM goods SELECT * FROM sell_order SELECT * FROM department 例6-2? 显示employee表中全部员工的姓名和年龄,去掉重名。 SELECT DISTINCT employee_name AS 姓名,YEAR(GETDATE())-YEAR(birth_date) AS 年龄 FROM employee 例6-3 对employee表,分别查询公司的员工总数和公司员工的平均收入。 SELECT COUNT(*) AS 总数 FROM employee ??? SELECT AVG(wages) AS 平均收入 FROM employee 带条件查询 语法格式: SELECT [ALL|DISTINCT] [TOP n [PERCENT]] select_list FROM table_name WHERE search_condition 例6-4? 对employee表,列出月工资在2000以上的员工记录。 SELECT * FROM employee WHERE wages2000 例6-5? 对employee表,求出男员工的平均工资。 ??? SELECT AVG(wages) as 平均工资 FROM employee WHERE sex=男‘ *例6-6 对employee表,列出市场部和销售部的员工名单。 SELECT d.department_name, e.employee_name FROM employee e INNER JOIN department d ON e.department_id = d.department_id WHERE d.department_name IN (市场部, 销售部) 语句中的WHERE子句还有等价的形式: ? WHERE (d.department_name = 市场部) OR (d.department_name = 销售部) 例6-7 对employee表,列出月工资在2000到3000之间的员工名单。 SELECT * FROM employee WHERE wages BETWEEN 2000 AND 3000 语句中的WHERE子句还有等价的形式: WHERE wages=2000 AND wages=3000 例6-8 对employee表,列出所有的姓“张”的员工名单。 SELECT * FROM employee WHERE employee_name LIKE 张% 语句中的WHERE子句还有等价的形式: WHERE LEFT(employee_name,1)= 张 例6-9 对employee表,列出所有工资为空值的员工编号和姓名。 SELECT employee_id,employee_name FROM employee WHERE wages IS NULL 查询结果处理 1. 排序输出(ORDER BY) 语法格式: SELECT [ALL|DISTINCT] [TOP n [PERCENT]] select_list FROM table_name WHERE search_condition ORDER BY order_by_expression1[ASC|DESC] [,order_by_expression2[ASC|DESC]] [,…]] 例6-10 对employee表,按性别顺序列出员工的编号、姓名、性别、部门编号及工资,性别相同的再先按部门后按工资由高到低排序
显示全部