简单查询和限定查询

1.--查询表的所有内容
SELECT * FROM emp;
2.--查询员工编号,姓名,基本工资
SELECT e.empno,e.ename,e.sal
FROM emp e;
3.--查询职位并去掉重复
SELECT DISTINCT e.job
FROM emp e;
4.--查询员工编号,姓名,基本工资,月薪,年薪
SELECT e.empno 编号,e.ename 姓名,e.sal 月薪,e.sal*12 || ‘元‘ 年薪,ROUND(e.sal/30,2) 日薪, ‘$‘ 货币
FROM emp e;
5.--查询表中有多少条记录
SELECT COUNT(*) FROM emp;

6.--查询基本工资高于1500的全部员工信息
SELECT *
FROM emp e
WHERE e.sal>1500;

7.--查询基本工资小于等于2000的全部员工信息
SELECT *
FROM emp e
WHERE e.sal<=2000;
8.--查询姓名是smith的员工信息
SELECT *
FROM emp e
WHERE e.ename=UPPER(‘smith‘);

9.--查询职位是clerk的的员工信息
SELECT *
FROM emp e
WHERE e.job=‘CLERK‘;
10--查询职位不是clerk的的员工信息

SELECT *
FROM emp e
WHERE NOT e.job=‘CLERK‘;

SELECT *
FROM emp e
WHERE e.job<>‘CLERK‘;

SELECT *
FROM emp e
WHERE e.job!=‘CLERK‘;
11.--查询工资在1500~3000包含1500和3000的员工的信息
SELECT *
FROM emp e
WHERE e.sal BETWEEN 1500 AND 3000;

12.--查询职位是销售人员salesman并且工资高于1200的员工信息
SELECT *
FROM emp e
WHERE e.job=‘SALESMAN‘ AND e.sal>1200;
13.--要求查询中10部门中的经理或者20部门中的业务员
SELECT *
FROM emp e
WHERE (e.deptno=10 AND e.job=‘MANAGER‘)
OR (e.deptno=20 AND e.job=‘CLERK‘)
14.--查询不是业务员且工资大于2000的员工
SELECT *
FROM emp e
WHERE e.job<>‘CLERK‘ AND e.sal>2000;
15.--查询出在1981年入职的员工
SELECT * 
FROM emp e
WHERE to_char(e.hiredate,‘YYYY‘)=‘1981‘;
--判断内容是否为空is null ,is not null
16.--查询所有领取资金的员工的信息
SELECT *
FROM emp e
WHERE e.comm IS NOT NULL;
17.--查询所有不领取资金的员工的信息
SELECT *
FROM emp e
WHERE e.comm IS NULL;
18.--查询所有不领取资金同时工资大于2000的员工的信息
SELECT *
FROM emp e
WHERE e.comm IS NULL AND e.sal>2000;
19.--查询不收取佣金,或者收取佣金小于100元的员工
SELECT *
FROM emp e
WHERE e.comm IS NULL OR e.comm<100;

20.--查找收取佣金的员工的不同职位的工作
--先查找收取佣金的员工职位JOB
SELECT e.job
FROM emp e 
WHERE e.comm IS NOT NULL;
--发现职位重复使用distinct
SELECT DISTINCT e.job
FROM emp e
WHERE e.comm IS NOT NULL;

--列的范围查找in ,not in,有固定的多个条件才使用
-21.-查询出员工编号是7369,7788,7566的员工信息
--可以用OR来写
SELECT * 
FROM emp e
WHERE e.empno=7369 OR e.empno=7788 OR e.empno=7566
--用in来写可以省去很多代码
SELECT *
FROM emp e
WHERE e.empno IN (7369,7788,7566);

22.--查询出员工编号不是7369,7788,7566的员工信息
SELECT *
FROM emp e
WHERE e.empno NOT IN (7369,7788,7566);

--模糊查询 like not like 
--%匹配0个,1个或者多个字符
--_下划线只能匹配一个字符
23.--查询出员工姓名是S开头的员工信息
SELECT *
FROM emp e
WHERE e.ename LIKE ‘S%‘;
24.--查询姓名第2个字母是M的员工信息
SELECT * 
FROM emp e
WHERE e.ename LIKE ‘_M%‘;
25.--查询姓名中包含F的员工信息
--先分析F可以出现在姓名中的任意位置用%来匹配
SELECT *
FROM emp e
WHERE e.ename LIKE ‘%F%‘

26.--查询姓名长度为6或者长度超过6的员工信息
SELECT * 
FROM emp e
WHERE LENGTH(e.ename)>=6;
--也可以用下划线来匹配6个下划线
SELECT * 
FROM emp e
WHERE e.ename LIKE ‘______%‘;

27.--查询基本工资中包含1或者在81年入职的员工
SELECT * 
FROM emp e
WHERE e.sal LIKE ‘%1%‘ OR to_char(e.hiredate,‘YYYY‘)=‘1981‘;
--换成AND
SELECT * 
FROM emp e
WHERE e.sal LIKE ‘%1%‘ AND to_char(e.hiredate,‘YYYY‘)=‘1981‘;

28.--查询10部门中的所有经理,20部门中所有业务员,
--既不不是经理又不是业务员但工资大于2000元的所有员工
--同时员工姓名中包含S或者K
SELECT * 
FROM emp e
WHERE ((e.deptno=10 AND e.job=‘MANAGER‘)
OR (e.deptno=20 AND e.job=‘CLERK‘)
OR(e.job NOT IN(‘MANAGER‘,‘CLERK‘) AND e.sal>2000))
AND (e.ename LIKE ‘%S%‘OR e.ename LIKE ‘%K%‘);

--order by 排序 ASC ASC可以省略,升序 DESC 降序 
29.--查询所有员工,并按工资由高到低排序 
SELECT * 
FROM emp e
ORDER BY e.sal DESC;
30.--查询所有员工,并按工资由低到高排序 
SELECT * 
FROM emp e
ORDER BY e.sal ASC;
--ASC可以不写
SELECT * 
FROM emp e
ORDER BY e.sal;
31.--查询所有业务员的详细信息,并且按照,基本工资由低到高排序
SELECT * 
FROM emp e
WHERE e.job=‘CLERK‘
ORDER BY e.sal ASC;

32.--查询所有员工信息,要求按基本工资由高到低排序,如果工资相同按入职早,晚时间排序
SELECT *
FROM emp e
ORDER BY e.sal DESC ,e.hiredate ASC;

时间: 2025-01-06 06:44:32

简单查询和限定查询的相关文章

Oracle笔记(四) 简单查询、限定查询、数据的排序

Oracle笔记(四) 简单查询.限定查询.数据的排序 一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统.ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言. Oracle数据库之所以发展的很好,主要也是因为Oracle是全世界最早采用SQL语句的数据库产品. SQL功能强大,概括起来,它可以分成以下几组: DML(Data Manipulation La

sql 简单查询,限定查询及排序

SQL(structured Query Language  结构化查询语言)是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统. SQL语言包含4个部分: ※数据定义语言(DDL),例如:CREATE.DROP.ALTER等语句. ※数据操作语言(DML),例如:INSERT.UPDATE.DELETE语句. ※数据查询语言(DQL),例如:SELECT语句. ※数据控制语言(DCL),例如:GRANT.REVOKE.COMMIT.ROLLBACK等语句. 简单查询

数据库基础学习4--表格的 增 删 改 查(简单查询与高级查询)

一.增 C:create 增加,创建,向数据库里面添加数据. insert into Fruit values('K009','苹果',3.0,'高青',90,'') insert into Fruit(Ids,Name,Price,Source,Numbers) values('K010','苹果',3.0,'高青',90) 二.改 U:update修改,从数据库表里面修改数据. update Fruit set Source='烟台' where Ids='K001' 三.删 D:delet

mysql简单的单表查询详解

mysql简单的单表查询详解 MySQL的查询操作: 单表查询:简单查询 多表查询:连续查询 联合查询: 选择和投影: 投影:挑选要显示的字段 选择:挑选符合条件的行 投影:SELECT 字段1, 字段2, ... FROM tb_name;  SELECT * FROM tb_name; 选择:SELECT 字段1, ... FROM tb_name WHERE 子句; 布尔条件表达式 mysql> CREATE TABLE students (SID INT UNSIGNED AUTO_IN

限定查询与排序显示(章节摘要)

1,数据查询的标准语法. SELECT [DISTINCT] * | 列 [AS][别名],列[AS][别名],... FROM 表名称 [别名] [WHERE 限定条件(s)] [ORDER BY 排序字段 [ASC | DESC][,排序字段[ASC | DESC]...]]; 2,多个字句的执行顺序为FROM,WHERE,SELECT,ORDER BY,其中ORDER BY字句永远放在最后执行. 3,在使用限定查询时,所讲解的若干个限定条件为关系运算,逻辑运算,BETWEEN...AND,

简单多条件动态查询的实现

今天公司有个项目需要到多个条件查询的功能,以前两三个条件的时候就用if去判断,草草了事,由于这次有5-9个条件不等的情况下,总不能都用if吧,虽说能实现,不过这代码看上去也太难看,最重要的是没有重用性,也不方便修改,网上找了下,五花八门的,要费时间去理解它,还不如自己封装下,也便于以后的使用: 我前端用的是BUI来设计的,所以条件的传递方式是get/post,所以这个方法是针对“查询条件来自get/post方式的”,如果是用服务器控件传的,这种方式是不适合的哦 好了,首先,为了方便存储每个字段的

spring data jpa封装specification实现简单风格的动态查询

github:https://github.com/peterowang/spring-data-jpa-demo Spring Data JPA已经帮助我们很大程度上简化了我们的查询操作,我们甚至只要写一个接口,然后单纯的写一些方法就可以完成各式各样的查询,但是对于我们程序设计人员而言,总希望所有的查询变得更加的简单方便,为了给程序人员进行再一次的封装,Spring Data JPA提供了Specification的方式进行查询,在前面的内容已经演示过这种查询了,但是,我们在使用的过程中发现这

《卸甲笔记》-限定查询与排序显示

限定查询与排序显示 限定查询指的是在数据查询时设置一系列的过滤条件,只有满足指定的条件后才可以进行显示 在SQL标准中限定查询的语法如下: select [distinct] *|列名称 [as] [列别名],列名称 [as] [列别名], … from 表名称 [表别名] [where 条件(s)] 1查看emp表中的数据量 Oracle SQL> select count(*) from emp; COUNT(*) ---------- 14 PPAS scott=# select coun

限定查询1

3.1.认识限定查询 例如:如果一张表中有100w条数据,一旦执行了"SELECT * FROM 表"语句之后,则将在屏幕上显示表中的全部数据行的记录,这样即不方便浏览,也有可能造成死机的问题出现,所以此时就必须对查询的结果进行筛选,那么就可以通过WHERE指定查询的筛选条件. 在进行Oracle数据库安装的时候已经安装了样本方案数据库,所以现在必须将容器有CBD切换到PDB之中. 范例:以nolog的方式打开sqlplus sqlplus / nolog 范例:使用sys管理员进行登