`
人生难得糊涂
  • 浏览: 117423 次
社区版块
存档分类
最新评论

SQL必须知道的基本表操作(三)查询操作

 
阅读更多

 

 

 

首先呢,是查询语句的格式
 --在sql中 各关键字出现的顺序
   --SELECT
   --FROM 
   --WHERE
   --GROUP BY
   --HAVING
   --ORDER BY

---查询一张表中的所有数据
select * from emp;
--- 查询数据某几个字段的值 按照指定字段顺序来显示数据
select empno, ename from emp;
--- 去重复查询
select distinct deptno,job from emp;
---  条件查询  查询内容区分大小写
select deptno,job,sal from emp where ename='SMITH';
-- 查询部门编号 10或者20 的所有员工
select * from emp where deptno=10 or deptno=20;
-- 查询薪水大于2000 小于2500
 select * from emp where sal >2000 and sal<2500

--查询入职时间早于 
 select * from emp where hiredate < '17-9月 -81';
  --模糊查询  %表示通配任意个字符  _表示通配一个字符
--查询名字中包含K字符的结果
  select * from emp where ename like '%K%'
 --查询第三个字母为o的员工
 select * from emp where ename like '__O%';
 --在数组里面出现过的数据都查询出来
  select * from emp where empno in (7369,7844,7521);
--显示没有上司的员工 
   select * from emp where mgr is null;
 --使用别名查询 as可省略
   select empno as 编号,ename as 姓名, sal as 月薪 from emp where ename like 'S%'; 
 --使用别名查询 SMITH的编号 和年薪
select empno 编号,ename 姓名 ,sal*12 年薪 from emp where ename='SMITH';
  --查询工资大于500 或者工作为MANAGER 并且姓名首字母为J开头
  select * from emp where (sal>500 or  job='MANAGER') and ename like 'J%';
  --查询所有的数据,按照薪水从高到低依次排列 
  select * from emp order by sal desc;
  --从低到高
   select * from emp order by sal asc;
   
   --统计所有员工的编号姓名年薪(月薪+奖金)
   select empno 编号 ,ename 姓名,(sal+nvl(comm,0))*12 年薪 from emp;
   --根据带奖金的年薪 排序
   select empno 编号 ,ename 姓名,(sal)*12 年薪 from emp order by 年薪 desc;
   -- 分组函数 max min abg sum count 
   --查询出工资月薪最高的员工的编号 姓名 月薪
   select empno,ename,sal from emp where sal=(select max(sal) 月薪 from emp); 
    --查询出工资月薪最高和最低的员工的编号 姓名 月薪
      select empno,ename,sal from emp where sal=(select min(sal)  from emp) or sal=(select max(sal)  from emp);
   --计算有多少员工 
   select count(empno) 员工数 from emp;
   --计算员工月工资薪水总数
   select sum(sal) 总工资 from emp;
   --计算员工平均工资
   select avg(sal) from emp;
   
   --显示平均工资和最高工资 
         select avg(sal) 平均工资,max(sal) 最高工资 from emp;
   --显示每个部门的平均工资和最高工资
   --分组的条件一定要查询出来
   select avg(sal) 平均工资 ,max (sal) 最高工资,deptno 部门 from emp group by deptno;
   --显示每个部门各种岗位的平均工资和最低工资
  select avg(sal) 平均工资 ,min (sal) 最低工资,deptno 部门,job 岗位 from emp group by deptno,job 
  --显示平均工资低于2000的部门和它的平均工资o
   select avg(sal) 平均工资,deptno 部门 from emp group by deptno  having avg(sal)<2000;
   --显示平均工资高于2000的部门和它的平均工资(总裁办(部门编号10)不参与计算)
   select avg(sal) 平均工资,deptno 部门 from emp where deptno!=10 group by deptno  having avg(sal)>2000;
   ---group by 需要注意的是 在select中出现的字段 除了汇总字段以外,全部都要出现在group by里面 
   --如 select avg(sal) 平均工资 ,sal 最低工资,deptno 部门,job 岗位 from emp group by deptno,job 会出现错误
   --因为 sal 出现在了select 中,确没有出现在group by 中 并且 sal不是汇总字段(使用了汇总函数的字段 ,如avg,max,min等)

-------------------------------------多表查询---------------------------------------
   --查询部门表
   select * from dept;
   --显示雇员名,雇员工资 雇员部门名   雇员部门名在dept表中
   select e.ename,e.sal,d.dname from emp e,dept d where e.deptno=d.deptno;
   --显示雇员名 雇员工资 雇员工资级别  工资级别在salgrade表中
   select e.ename,e.sal,s.grade from emp e,salgrade s where e.sal between s.losal and s.hisal;
   --显示员工名,员工工资,员工工资级别 所在部门名字,并按照部门排序
   select e.ename ,e.sal,s.grade,d.dname from emp e,dept d ,salgrade s 
    where e.deptno=d.deptno and( e.sal between s.losal and s.hisal) order by e.deptno ;
  
   --查询比部门30所有员工工资高的员工的姓名 工资
   select ename,job,sal,deptno from emp where sal > all (select sal from emp where deptno=30);
   select ename,job,sal,deptno from emp where sal >  (select max(sal) from emp where deptno=30);
---查询SMITH的上司 
    --自连接查询 
    select e1.ename,e2.ename 上司 from emp e1,emp e2 where e1.mgr=e2.empno and e1.ename='SMITH'; 
   --嵌套查询
   select ename from emp where empno=(select mgr from emp where ename='SMITH'); 
 --如果子查询返回多个结果,则应该使用in 或者 = any
  select ename,job,sal,deptno from emp where job in (select job from emp where deptno=10);
  select ename,job,sal,deptno from emp where job  = any (select job from emp where deptno=10);
   
  --如何查询部分数据
  --rownum rowid  伪列  伪劣是根据查询结果动态生成的
   --分页查询 只显示前5条结果
    select rownum,ename ,job from emp where rownum <=5;
   --查询6-10条 不能用 select rownum,ename ,job from emp where rownum <=10 and rownum>=5;
   --而要  
   select * from (select rownum r,ename,job from emp where rownum <=10) where r>=5;
   --合并查询   集合操作符 union   合并结果 去掉重复行
   select * from emp where job='SALESMAN'union select * from emp where sal>=1500;
   --union all 合并结果 保留重复行
   select * from emp where job='SALESMAN'union all select * from emp where sal>=1500;
   --取交集  intersect 
   select * from emp where job='SALESMAN'intersect select * from emp where sal>=1500;
   --取差集 第一个集合中有第二个集合中没有的   minus
   select * from emp where job='SALESMAN' minus select * from emp where sal>=1500;

 

1
0
分享到:
评论

相关推荐

    sql server2005数据库 基本表操作

    在SQL Server 2005中,数据库的基本表操作是数据管理的核心部分,适用于初学者和专业人士。本文将深入探讨“建表”和“查询”这两个关键知识点。 首先,我们来了解一下“建表”。在SQL Server 2005中,创建数据库表...

    sqlserver基本操作

    在这个"sqlserver基本操作"的主题中,我们将探讨SQL Server的一些核心概念和常用操作。 首先,我们来看一下SQL Server的添加操作。在SQL Server中,添加操作主要涉及以下几个方面: 1. **创建数据库**:使用`...

    数据库实验一实验一 熟悉数据库管理工具、数据库和表的基本操作 一、实验目的: 1.了解SQL Server或MYSQL数据库的基本知识; 2.熟悉SQL Se

    实验一主要目标是熟悉数据库管理工具,如SQL Server或MySQL,并掌握基本的数据库和表的操作。这包括了解数据库的基本知识,熟悉其环境和系统结构,以及掌握如何使用图形化交互工具进行数据库及表的创建与管理。核心...

    sql添加删除修改查询基本操作

    本篇文章将重点讲解SQL Server中的基本操作:添加、删除、修改和查询数据。 1. 添加数据(INSERT) 在SQL Server中,我们使用INSERT语句向表中添加新记录。例如,如果我们有一个名为`Employees`的表,包含`ID`、`...

    C#用Sql数据库查询方法操作Excel表格

    当我们需要处理Excel数据时,可以借助SQL查询方法来实现高效的操作。本篇将详细讲解如何在C#中利用SQL数据库查询技术来操作Excel表格。 首先,理解基本概念。Excel是一个电子表格软件,而SQL(Structured Query ...

    数据库SQL基本操作(初学者)

    数据库SQL基本操作是每个IT从业者或初学者都必须掌握的核心技能之一,特别是在处理数据存储和检索的场景下。本文将详细讲解如何进行数据库SQL的基本操作,以SQLite为例,包括创建数据库、创建表、插入数据、删除数据...

    sql操作,sql基本语法

    通过学习和实践这些SQL基本语法和操作,你将能够有效地与数据库进行交互,处理和分析数据。继续深入学习,你还可以掌握更高级的概念,如事务处理、游标、分区和性能优化等,进一步提升你的数据库管理技能。

    SQL基本操作语句.docx

    本文主要涵盖了SQL的基本操作,包括创建、修改和删除数据库表以及数据查询等关键知识点。 1. 创建基本表: 使用`CREATE TABLE`语句可以创建一个新的数据库表。例如: ```sql create table student ( Sno char(5...

    sql基本练习-详细

    以上就是“SQL基本练习”涵盖的主要内容,通过学习和实践这些知识点,你将能够熟练掌握SQL的基本操作,并能处理复杂的数据库查询任务。在实际应用中,SQL是数据分析师、数据库管理员和开发人员必备的技能之一,对...

    Oracle数据库sql语句的基本操作详解

    本文将深入解析Oracle SQL语句的基本操作,帮助初学者更好地理解和应用这些技巧,从而提高数据库查询效率。 首先,理解选择最有效率的表名顺序至关重要。在FROM子句中,Oracle会按照从右到左的顺序处理表,这意味着...

    Sql语言基本c操作

    基本sql语言操作,具有表的查询,删除,更新的基本操作。是不错的文档。

    第三章SQL数据查询单表查询优秀文档.ppt

    第三章SQL数据查询单表查询优秀文档 在关系数据库中,SQL(Structured Query Language)是标准语言,用于管理和操作关系数据库。第三章SQL数据查询单表查询优秀文档主要介绍了SQL语言在单表查询中的应用。 3.1 SQL...

    SQL语句查询数据表主键和所有字段

    在数据库管理中,了解如何通过SQL语句查询数据表的主键和所有字段是一项基本而重要的技能。这不仅有助于数据库管理员或开发人员更好地理解数据库结构,还能在进行数据操作、优化查询性能或解决数据完整性问题时提供...

    sql数据库基本操作

    数据库基本操作,使用SQL Server Management Studio向表中添加数据 1)在“对象资源管理器”窗口中,展开“数据库”节点,选择相应的数据库。 2)展开选中的数据库节点,再展开“表”节点,右键单击要添加数据的...

    数据库实验4 交互式SQL(三)查询操作(B).doc

    交互式SQL查询操作 本资源是数据库实验第四部分,主要内容是交互式SQL查询操作。实验目的包括熟悉数据库的交互式SQL工具、熟悉通过SQL对数据库进行操作。实验工具使用的是MS SQL Server 2012。实验内容包括创建学生...

    SQL server基本操作

    讲述了sql server 基本操作,各种如增删该查,视图,索引,规则,触发器,存储过程等一系列基本操作。

    学习SQL应知道的动态SQL语句基本语法 mssql

    MSSQL中的动态SQL基本语法** 在MSSQL中,动态SQL通常通过`EXEC`或`sp_executesql`系统存储过程来执行。下面是一些基本示例: ```sql -- 使用EXEC DECLARE @sql NVARCHAR(MAX) = N'SELECT * FROM MyTable WHERE Id ...

    Excel文件表SQL查询操作程序

    视Excel工作簿为数据库,通过该程序直接实现对Excel中表的查询、删除、更新、生成等操作,无需再将Excel数据表导入其他数据库中进行处理后再导出,简单方便,只要你会基本的SQL命令即可! 支持Excel97-2003和2007...

    数据库SQL基本表查询[参照].pdf

    数据库SQL基本表查询是数据库管理系统中的一种基本操作,旨在从数据库中提取有用的信息。下面是数据库SQL基本表查询的知识点: 一、数据库实验报告: 数据库实验报告是数据库管理系统中的一种常见的实验报告形式,...

    SQL基本操作的简单知识点

    根据提供的标题、描述以及部分代码内容,我们可以总结出关于SQL基本操作的重要知识点。这些知识点将帮助初学者理解如何创建数据库、表以及进行基本的数据操作。 ### SQL基本操作知识点 #### 1. 数据库的创建与删除...

Global site tag (gtag.js) - Google Analytics