数据库查询语句

上传人:cl****1 文档编号:500006600 上传时间:2024-01-09 格式:DOCX 页数:8 大小:119.33KB
返回 下载 相关 举报
数据库查询语句_第1页
第1页 / 共8页
数据库查询语句_第2页
第2页 / 共8页
数据库查询语句_第3页
第3页 / 共8页
数据库查询语句_第4页
第4页 / 共8页
数据库查询语句_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《数据库查询语句》由会员分享,可在线阅读,更多相关《数据库查询语句(8页珍藏版)》请在金锄头文库上搜索。

1、数据库操作归纳SqlServer 数据库操作语句(步骤):1. 新建数据库: create database 数据库名称 ; 例: create database LianXi;use 数据库名称 ; 例: use LianXi;2. 新建表: create table 表名称(属性名 /字段名 属性/字段类型 identity(1,1) primary key not null, 属性名/字段名 属性/字段类型 not null,属性名/字段名);属性/字段类型);例: create table yonghu(uid int identity(1,1) primary key not nul

2、l,uname char(10) not null, upass char(10) not null, gender char(2), shouru int, birthday datetime, note text);3. 查询数据 : 基本查询:-简单查询 select * from 表名称; 例: select * from yonghu; SELECT DISTINCT 表中字段名 AS 字段名别名,YEAR(GETDATE()-YEAR(字 段名如生日) AS 如年龄 FROM 表名例: select distinct uname as 姓名 , year(getdate()-yea

3、r(birthday) as 年龄 from yonghu; 如下图所示:11m已lect distinct un:日jtl已 as 姓名 j jear (g已tdat e i:) -ye ar (ub i rt hd日y) as 年齿令 f r om jnjnghu;ins e rt int o ionghu urLam 耳 up as s5 ub irt hd 宜兀 not e) valu 已 e (西荃肺? 213? 19 911工3 11誓啊有携口 方式忖款积分卡?) ins已说 int o junghu urLam已耳 upass5 ubirthda; not e) values C

4、 土豆321? ? 19921216? ?十灰复卡香彳申白勺罚崇l是;姓名年龄z207|菽取当前丟时间矗21获取表中行的总数 SELECT COUNT(*) AS 总数 FROM 表名例:select count(*) as 总数 from yonghu;SELECT AVG(字段名)AS平均值FROM表名 获取平均值例:select avg(shouru) as 平均收入 from yonghu;-带条件查询条件表达式:可以是单表的条件表达式,又可以是多表之间的条件表达式。比较符: =(等于)、!=(不等于)、(大于)、(小于)、=(大于等于)、=(小于等于)、 (不等于) 例:在用户表中,

5、列出收入在2000 元以上的员工记录SELECT * FROM yonghu WHERE shouru 2000; 例:在用户表中,查出男用户的平均收入SELECT AVG(shouru) AS 平均收入 FROM yonghu WHERE gender=男; 例:某表如 employee 表,查询出市场部和销售部的员工名单SELECT d.employee_name, e.employee_name FROM employee.e INNER JOIN department d ON e.department_id = d.department_id WHERE d.department_n

6、ame IN (市场部 ,销售部 )-或-SELECT d.employee_name, e.employee_name FROM employee.e INNER JOIN department d ON e.department_id = d.department_idWHERE (d.department_name = 市场部 ) OR (d.department_name = 销售部 ) 对 yonghu 表,查出月工资在2000-3000 元之间的员工名单SELECT * FROM yonghu WHERE shouru BETWEEN 2000 AND 3000-或-SELECT

7、* FROM yonghu WHERE shouru = 2000 AND shouru = 3000 对 yonghu 表,查出所有姓“张”的员工名单SELECT * FROM yonghu WHERE uname LIKE 张%-或-SELECT * FROM yonghu WHERE LEFT(uname,1) = 张-查询结果处理 排序输出(ORDER BY)ASC:(默认)按升序排列;DESC:按降序排列SELECT uid,uname,upass, shouru FROM yonghu ORDER BY gender , shouru DESC 重定向输出(INTO)INTO 子句

8、用于把查询结果放到一个新建的表中例:某表如,对部门表department和员工表employee,查询出市场部所有员工的信 息,并将结果存入 newtable 中。SELECT employee.* INTO newtable FROM employee INNER JOIN department ON employee .department_id = department.department_id WHERE department.department_name = 市场部 输出合并(UNION)合并查询就是使用UNION操作符将来自不同查询的数据组合起来,形成一个具有综 合信息的查询结

9、果,UNION操作会自动将重复的数据剔除。必须注意的是,参加合 并查询的各子查询使用的表结构应该相同,即各子查询中的数据数目和对应的数据 类型都必须相同。例:对某表:如employee表,列出部门编号为D001或D002的所有员工姓名 SELECT employee_name,department_id FROM employee WHERE department_id = D001 UNION SELECT employee_name,department_id FROM employee WHERE例:对某表,如对 employee 表,分别统计男女员工人数SELECT sex,COUNT

10、(sex) as 人数 FROM employee GROUP BY sex 如下图所示例:某表,如对 employee 表,分别统计个部门男女员工的人数SELECT department_id,sex,COUNT(*) AS 人 数 FROM employee GROUP BY department_id,sex 如下图所示例:某表,如对 employee 表,查出部门平均工资大于 2000 元的部门编号 SELECT department_id,AVG(wages) AS 平均工资 FROM employee GROUP BY department_id HAVING AVG(wages)

11、=2000 使用 COMPUTE 和 COMPUTE BY 子句汇总:使用compute子句可以在查询的结果集中产生成汇总行的同时,还生成明细行,可 以计算子组的汇总值。使用compute by子句可以对结果集数据进行分组统计,即计算 分组的汇总值。例:某表,如对 employee 表中部门编号卧位 D001 的员工工资,按照其部门编号生 成汇总行和明细行SELEcT department _id ,wages FRoM employee WHERE department_id = D001oRDER BY department_id coMpuTE sum(wages) 如下图所示门编号生成

12、分组汇总行和明细行SELECT department_id,wages FROM employee WHERE department_id = D001OR department_id = D002 ORDER BY department_idCOMPUTE sum(wages) BY department_id 如下图所示 嵌套查询:(由里向外处理。子查询的SELECT语句中不能使用ORDER BY子句,ORDER BY 子句只能对最终查询结果排序) 单值嵌套查询子查询的返回结果是一个值的嵌套查询例:某表,如对Sales数据库,查询出市场部的所有员工的编号SELECT employee_id

13、 FROM employee WHERE department_id = (SELECT department_id FROM department WHERE department_name二市场部) 多值嵌套查询子查询的返回结果是一列值的嵌套查询a. ANY运算符用法:例:某表,如对Sales数据库,列出D001号部门中工资比D002 号部门的员工最低工资高的员工和工资SELECT employee_id,wages FROM employee WHERE department_id =D001 AND wagesANY (SELECT wages FROM employee WHERE

14、department_id = D002 )b. All运算符的用法:例:某表,如对Sales数据库,查询出部门编号为D001的 员工,这些员工的工资比部门为D002的员工的最高工资还要高的员工的编号和工 资。SELECT employee_id,wages FROM employee WHERE department_id =D001 AND wagesAll(SELECT wages FROM employee WHERE department_id =D002)c. IN运算符的用法:例:某表,如对Sales数据库,列出部门为市场部或销售部 的所有员工的编号SELECT employee

15、_id FROM employee WHERE department_id IN (SELECT department_id FROM department WHERE department_name = 市场部 OR department_name二销售部) 连接查询:(通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点, 也是它区别于其它类型数据库管理系统的一个标志。)例:某表,如对Sales数据库输出所有员工的销售单,要求给出员工编号、姓名、商品 编号、商品名和销售数量。SELECTemployee.employee_id,employee.employee_name,goods.goods_id,goods.good s_name,sell_order.order_num FROM employee,sell_order,goods WHERE employee.employee_id = sell_order.employee_id and sell_order.goods_id =goods.goods_id 如下图所示

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号