云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据库查询语句

数据库查询语句

  • 62 次阅读
  • 3 次下载
  • 2025/6/25 13:27:24

数据库操作归纳

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 null, 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())-year(birthday) as 年龄 from yonghu; 如下图所示:

③ SELECT COUNT(*) AS 总数 FROM 表名 ----------获取表中行的总数

例:select count(*) as 总数 from yonghu;

SELECT AVG(字段名) AS 平均值 FROM 表名 --------获取平均值 例:select avg(shouru) as 平均收入 from yonghu; ---带条件查询----------------------

条件表达式:可以是单表的条件表达式,又可以是多表之间的条件表达式。 比较符:=(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、<>(不等于)

① 例:在用户表中,列出收入在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_name IN (’市场部’,’销售部’) -或-

SELECT d.employee_name, e.employee_name FROM employee.e INNER JOIN department d ON e.department_id = d.department_id WHERE (d.department_name = ’市场部’) OR (d.department_name = ’销售部 ’) ④ 对yonghu表,查出月工资在2000-3000元之间的员工名单

SELECT * FROM yonghu WHERE shouru BETWEEN 2000 AND 3000 -或-

SELECT * 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子句用于把查询结果放到一个新建的表中

例:某表如,对部门表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操作符将来自不同查询的数据组合起来,形成一个具有综合信息的查询结果,UNION操作会自动将重复的数据剔除。必须注意的是,参加合并查询的各子查询使用的表结构应该相同,即各子查询中的数据数目和对应的数据类型都必须相同。

例:对某表:如employee表,列出部门编号为D001或D002的所有员工姓名

SELECT employee_name,department_id FROM employee WHERE department_id = ‘D001’UNION SELECT employee_name,department_id FROM employee WHERE

department_id = ’D002’ 如下图示

④ 分组统计(GROUP BY)与筛选(HAVING)

例:对某表,如对employee表,分别统计男女员工人数 SELECT sex,COUNT(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)>=2000

⑤ 使用COMPUTE 和COMPUTE BY子句汇总:

使用COMPUTE子句可以在查询的结果集中产生成汇总行的同时,还生成明细行,可以计算子组的汇总值。使用COMPUTE BY子句可以对结果集数据进行分组统计,即计算分组的汇总值。

例:某表,如对employee表中部门编号卧位D001的员工工资,按照其部门编号生成汇总行和明细行

SELECT department _id ,wages FROM employee WHERE department_id = ‘D001’ORDER BY department_id COMPUTE sum(wages) 如下图所示

例:某表,如对employee表中的部门编号为D001或D002的员工工资,按照其部

门编号生成分组汇总行和明细行

SELECT department_id,wages FROM employee WHERE department_id = ‘D001’OR department_id = ‘D002’ ORDER BY department_id COMPUTE sum(wages) BY department_id 如下图所示

⑵ 嵌套查询:(由里向外处理。子查询的SELECT语句中不能使用ORDER BY子句,ORDER BY子句只能对最终查询结果排序)

① 单值嵌套查询----子查询的返回结果是一个值的嵌套查询

例:某表,如对Sales数据库,查询出市场部的所有员工的编号

SELECT employee_id 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 wages>ANY (SELECT wages FROM employee WHERE department_id = ‘D002’) b. All运算符的用法:例:某表,如对Sales数据库,查询出部门编号为D001的员工,这些员工的工资比部门为D002的员工的最高工资还要高的员工的编号和工资。

SELECT employee_id,wages FROM employee WHERE department_id =‘D001’AND wages>All(SELECT wages FROM employee WHERE department_id =‘D002’) c. IN运算符的用法:例:某表,如对Sales数据库,列出部门为市场部或销售部的所有员工的编号

SELECT employee_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.goods_name,sell_order.order_num FROM employee,sell_order,goods WHERE employee.employee_id = sell_order.employee_id and sell_order.goods_id =

搜索更多关于: 数据库查询语句 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

数据库操作归纳 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 null, uname char(10) not

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com