基本SQL查询语句以及函数的使用


格式元素
描述 YYYY
四位的年份 MONTH
月份的英文全称 MON
月份的英文简写 MM
月份的数字表示 DD
日起的1-31数字表示 D
星期几的数字表示1-7 DAY
星期几的全称 DY
星期几的英文简写 HH,HH24
时的数字表示1-12,1-24 MI
分 SS
秒 IW
本年过去的周数
--说明:查询基于HR用户表

--判断条件的综合可以使用AND OR

--1.查询EMPLOYEES表的所有内容
SELECT * FROM HR.EMPLOYEES; --2.查询100号部门的员工
SELECT * FROM HR.EMPLOYEES WHERE DEPARTMENT_ID=100; --3.支持进行比较的运算符: <, >, =, <>, >=, <=, IN, LIKE, IS NULL, BETWEEN AND;
--3.1查询工资在10000和20000之间的员工:
--注意(SALARY BETWEEN 值1 AND 值2) 等同于表达式 SALARY>=值1 and SALARY<=值2
SELECT * FROM HR.EMPLOYEES WHERE SALARY BETWEEN 10000 AND 17000;
SELECT * FROM HR.EMPLOYEES WHERE SALARY>=10000 AND SALARY<=17000; --3.2查询50,60,100部门的员工
SELECT * FROM HR.EMPLOYEES WHERE DEPARTMENT_ID IN (50,60,100);
--等同于
SELECT * FROM HR.EMPLOYEES WHERE DEPARTMENT_ID=50 OR DEPARTMENT_ID=60 OR DEPARTMENT_ID=100; --3.3在使用LIKE是可以使用_表示任意一个字符,%表示任意多个字符
--3.3.1查询FIRST_NAME以字母S开头的员工
SELECT * FROM HR.EMPLOYEES WHERE FIRST_NAME LIKE 'S%';
--3.3.2查询FIRST_NAME第二字母是a的员工
SELECT * FROM HR.EMPLOYEES WHERE FIRST_NAME LIKE '_a%';
--3.3.3查询FIRST_NAME包含字母n的员工
SELECT * FROM HR.EMPLOYEES WHERE FIRST_NAME LIKE '%n%';
--3.4判断MANAGAER_ID为空的员工
--注意:在判断是不是为空是不能使用=NULL,需要使用IS NULL,同理不为空应为IS NOT NULL;
SELECT * FROM HR.EMPLOYEES WHERE MANAGER_ID IS NULL; --4.按照工资高低排序显示员工信息
--注意默认是升序ASC ,降序为DESC
SELECT * FROM HR.EMPLOYEES ORDER BY SALARY desc;
--查询100号部门的员工并按照工资高低排序
SELECT * FROM HR.EMPLOYEES WHERE DEPARTMENT_ID=100 ORDER BY SALARY DESC; --5.查询有员工的每个部门的员工数:对员工表按照DEPARTMENT_ID分组,使用order by
SELECT DEPARTMENT_ID,COUNT(*) FROM HR.EMPLOYEES GROUP BY DEPARTMENT_ID; --6.查询员工数大于5的部门及部门人数:
--此时需要的是对分组好的数据再次进行筛选,可以使用HAVING来增加筛选条件.
SELECT DEPARTMENT_ID,COUNT(*) FROM HR.EMPLOYEES GROUP BY DEPARTMENT_ID
HAVING COUNT(*)>5; --7在分组中可以使用的分组函数
--MAX,MIN,SUM,COUNT,AVG
--7.1所有员工最大工资
SELECT MAX(SALARY) FROM HR.EMPLOYEES;
--7.2每个部门最小工资
SELECT DEPARTMENT_ID,MIN(SALARY) FROM HR.EMPLOYEES GROUP BY DEPARTMENT_ID;
--7.3每个部门人数
SELECT DEPARTMENT_ID,COUNT(*) FROM HR.EMPLOYEES GROUP BY DEPARTMENT_ID;
--7.4每个部门平均工资,且平均工资大于10000的
SELECT DEPARTMENT_ID,AVG(SALARY) FROM HR.EMPLOYEES GROUP BY DEPARTMENT_ID
HAVING AVG(SALARY)>10000;
--7.5每个部门的工资总数
SELECT DEPARTMENT_ID,SUM(SALARY) FROM HR.EMPLOYEES GROUP BY DEPARTMENT_ID; --8基本的函数的使用:UPPER,LOWER,NVL
--dual是oracle的虚拟表
--字符函数
SELECT UPPER('abcd') FROM DUAL;
SELECT LOWER('ASV') FROM DUAL;
--to_char转换为字符窜
--转换函数NVL,若为NULL可以转换为指定的值
SELECT NVL(NULL,0) FROM DUAL;
--数值函数
SELECT ROUND(10.5),ROUND(10.4),ROUND(-10.5),ROUND(-10.6),ROUND(-10.4) FROM DUAL;--四舍五入
SELECT FLOOR(10.9),FLOOR(10.1) FROM DUAL;--下取整
SELECT CEIL(10.9),CEIL(10.1) FROM DUAL;--上取整
SELECT MOD(11,2),MOD(11,3) FROM DUAL;--取余数
--日期函数
--转换为日期:TO_DATE
--使用,当表内数据类型为DATE类型时,在插入数据时可以将字符窜转换为日起类型然后插入,或者数据更新时使用
UPDATE EMPLOYEES SET HIRE_DATE='2012-1-1' WHERE EMPLOYEE_ID=199;
--上面的更新语句会发生错误:ORA-01861: 文字与格式字符串不匹配
UPDATE EMPLOYEES SET HIRE_DATE=to_date('2012-1-1','yyyy-mm-dd') WHERE EMPLOYEE_ID=199;
--加上函数to_date()函数修改成功 --系统时间
SELECT SYSDATE FROM DUAL;
/*
不常用可能;
MONTHS_BETWEEN(date1,date2):
返回俩参数之间的月份 date1>date2返回正数反之返回负数结果的非整数部分表示不足一整月的那部分间隔
ADD_MONTHS(date,n):
向date加上n个月,n必须是整数并且不能为负数
NEXT_DAY(date,'char'):
求出date之后一周内某天char的日期,char是一个有效的表示星期几的数字或字符串
LAST_DAY(date):
求出date所在月的最后一天
ROUND(date,[,'fmt']):
将date按照fmt指定的格式进行四舍五入,fmt为可选项,如果没有指定fmt,则默认为'DD',将date四舍五入为最近的天
TRUNC(date,[,'fmt'])
将date按照fmt指定的格式进行截取,fmt为可选项,如果没有指定fmt,则默认为'DD',将date截取为最近的天
*/
--常用的数字格式转换,显示结果随后
SELECT TO_CHAR(10,'9999'),-- 10
TO_CHAR(100,'0000'),--0100
TO_CHAR(100,'$0000'),--$0100
TO_CHAR(100,'L0000'),--¥0100
TO_CHAR(100000000,'000,000,000,000')--000,100,000,000
from dual;

5-基本的sql查询以及函数的使用的更多相关文章

  1. sql查询 ——聚合函数

    --聚合函数 -- sum() -- 求和 select sum(age) from student; -- count() -- 求数量 -- 数据量 select count(*) as '数量' ...

  2. MySQL GROUP_CONCAT函数使用示例:如何用一个SQL查询出一个班级各个学科第N名是谁?

    如何用一个SQL查询出一个班级各个学科第N名是谁? 首先贴出建表语句,方便大家本地测试: -- 建表语句 CREATE TABLE score ( id INT NOT NULL auto_incre ...

  3. Hibernate 函数 ,子查询 和原生SQL查询

    一. 函数 聚合函数:count(),avg(),sum(),min(),max() 例:(1)查询Dept表中的所有的记录条数. String hql=" select count(*) ...

  4. SQL DATEDIFF语法及时间函数 Sql 查询当天、本周、本月记录

    SQL DATEDIFF语法及时间函数 Sql 查询当天.本周.本月记录 转:http://blog.csdn.net/Json1204/article/details/7863801?locatio ...

  5. SQL常见优化Sql查询性能的方法有哪些?

    常见优化Sql查询性能的方法有哪些? 1.查询条件减少使用函数,避免全表扫描 2.减少不必要的表连接 3.有些数据操作的业务逻辑可以放到应用层进行实现 4.可以使用with as 5.使用“临时表”暂 ...

  6. Oracle常用SQL查询(2)

    三.查看数据库的SQL 1 .查看表空间的名称及大小 select  t.tablespace_name,  round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...

  7. SQL Server 聚合函数算法优化技巧

    Sql server聚合函数在实际工作中应对各种需求使用的还是很广泛的,对于聚合函数的优化自然也就成为了一个重点,一个程序优化的好不好直接决定了这个程序的声明周期.Sql server聚合函数对一组值 ...

  8. HQL查询——聚集函数

    HQL查询--聚集函数 HQL也支持在选出的属性上使用聚集函数.HQL支持的聚集函数与SQL的完全相同: (1)avg:计算属性平均值: (2)count:统计选择对象的数量: (3)max:统计属性 ...

  9. SQL中随机数函数rand()简介

    转自:http://database.51cto.com/art/201009/224397.htm 下文将为您介绍SQL中的随机函数rand(),供您参考,如果您是才接触SQL Server的新手, ...

随机推荐

  1. 创建File类 及 this.getClass().getResource()方法 用到的文件路径的问题

    1 package test; 2 3 import java.io.*; 4 import java.util.Scanner; 5 6 public class TestResource { 7 ...

  2. 前端 | 页面触底自动加载 Vue 组件

    不管是 web 端还是移动端,信息流都是现在很流行的信息展示方式.信息流经常搭配自动加载一起使用以获得更好的使用体验. 最近在使用 Vue 开发过程中也遇到了首页信息流自动加载的需求.大致了解了一下几 ...

  3. python3使用pycuda执行简单GPU计算任务

    技术背景 GPU的加速技术在深度学习.量子计算领域都已经被广泛的应用.其适用的计算模型是小内存的密集型计算场景,如果计算的模型内存较大,则需要使用到共享内存,这会直接导致巨大的数据交互的运算量,通信开 ...

  4. nacos在nginx下集群以及数据库问题

    持久化mysql时指定数据库编辑application.properties spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql ...

  5. Linux下修改mysql默认最大连接数

    liunx下修改mysql最大连接数(Centos下测试通过)1.查看当前系统下mysql设置的最大连接数方式一.mysqladmin -uroot -p variables |grep max_co ...

  6. centos7 Tomcat 多项目配置

    2021-07-30 1. Tomcat 各目录功能说明 bin :脚本文件目录,存放启动和关闭 Tomcat 的脚本文件conf:存放 Tomcat 的配置文件,server.xml 尤其重要log ...

  7. Python - 导入的位置

    导入的是什么 导入是将 Python 的一些功能函数放到当前的脚本中使用 不导入的功能无法直接在当前脚本使用(除了 python 自带的内置函数) Python 有很多第三方功能,假设想要使用,都必须 ...

  8. Pytest系列(15)- 多重校验插件之pytest-assume的详细使用

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest中可以用pyth ...

  9. MongoDB索引的简单理解

    目录 MongoDB索引 1.语法准备 2.数据准备: 3.索引 3.1 唯一索引 3.2 单键索引 3.3 多键索引 3.4 复合索引 3.5 交叉索引 3.6 部分索引 3.7覆盖索引 3.8 全 ...

  10. ❤️❤️用最简单的方法在Webstorm中打开已存在项目 和 新建Vue项目 (亲测实用)❤️❤️

    ​ 目录 一:打开已存在项目时 二:新建一个vue项目 使用webstorm创建vue项目创建vue项目各个公司用的工具都不一样 最常见的有HBuilder X,WebStorm,Visual Stu ...