Oracle—SQL基础语句

  1 --去除重复行:distinct
  2 --作用范围:是后面所有字段的组合
  3 select distinct deptno sal from emp;
  4 SELECT * FROM emp ORDER BY sal;
  5 --(DATE类型)的条件
  6 SELECT * FROM emp WHERE hiredate =‘17-12月-80‘;
  7 --使用like模糊查询(%代表0或多个字符,_代表一个字符,特殊字符用ESCAPE标示符查询)
  8 SELECT * FROM emp WHERE ename LIKE ‘S%‘;
  9 SELECT * FROM emp WHERE ename LIKE ‘_M%‘;
 10 SELECT * FROM emp WHERE ename LIKE ‘%\_%‘ ESCAPE ‘\‘;
 11 --使用is null 查询
 12 SELECT * FROM emp WHERE comm IS NULL;
 13 SELECT * FROM emp WHERE comm IS NOT NULL;
 14 --SQL优化:
 15 -----AND 把检索结果较少的条件放到后面
 16 -----OR  把检索结果较多的条件放到后面
 17 --ORACLE函数分为单行函数和多行函数两大类
 18 -----单行函数分为字符函数、数值函数、日期函数、转换函数、通过函数
 19 -----多行函数分为sum()、avg()  count()  max()  min()
 20 --首字母大写:initcap
 21 --全转小写: lower
 22 --全转大写: upper
 23 --左移除: ltrim 例:ltrim(‘abcdef‘,‘ab‘);
 24 --右移除: rtrim 例:rtrim(‘abcdef‘,‘ef‘);
 25 --替换:replace  例:replace(‘jack and jue‘,‘j‘,‘bl‘); 结果:black and blue;
 26 --查找字符串的位置:instr 例:instr(‘worldwide‘,‘d‘);结果:5
 27 --截取字符串:substr 例:substr(‘abcdefg‘,3,2);结果:cd
 28 --连接字符串:contact 例:contact(‘hello‘,‘world‘);结果:helloworld
 29 --数值函数
 30 --取绝对值:ABC()
 31 --向上取整:CEIL()
 32 --正弦:SIN()
 33 --余弦:COS()
 34 --取符号:SIGN()
 35 --向下取整:FLOOR()
 36 --m的n次幂: POWER(m,n);
 37 --取余数:MOD(m,n);
 38 --四舍五入:ROUND(m,n);
 39 --截断:TRUNC(m,n);
 40 --平方根:SORT()
 41 --日期函数
 42 --sysdate:当前日期时间
 43 --months_between:返回两个日期间的月份
 44 --add_months:返回把月份加到日期上的新日期
 45 --next_day:返回指定日期后的星期对应的新日期
 46 --last_day:返回指定日期所在月的最后一天
 47 --round:按指定日期格式对日期进行四舍五入
 48 --trunc:对日期进行指定方式截断
 49 SELECT * FROM dual;
 50 --(自动类型转换)
 51 select ‘12.5‘+30 from dual;
 52 --(强制类型转换)
 53 SELECT ‘12.5‘ ||30 FROM dual;
 54 --字符和数字的相互转换 & 字符和日期的相互转换
 55 VARCHAR2 OR CHAR--number
 56 VARCHAR2 OR CHAR --date
 57 NUMBER --varchar2
 58 DATE--varchar2
 59 --数据类型之间可以进行隐式转换,仍建议使用显示转换函数,一把持良好的设计风格
 60 --常用类型转换函数有to_char()  to_date()  to_number()
 61
 62
 63 --多行函数对一组数据进行运算,针对一组数据(多行记录)只返回一个结果,也称分组函数
 64 SELECT AVG(sal) ,MAX(sal),MIN(sal) ,sum(sal) FROM emp;
 65 --使用NVL()函数强制多行函数处理空值
 66 select count(nvl(comm,0)),sum(nvl(comm,0)),avg(nvl(comm,0)) from emp;
 67 COUNT(*) 返回组中总记录数目
 68 SELECT COUNT(*) FROM emp;
 69 SELECT * FROM emp;
 70 COUNT(EXP) 返回表达式exp值非空的记录数目
 71 count(distinct(exp))返回表达式exp值不重复的、非空的记录数目
 72 --group by 子句将表中数据分组
 73 SELECT deptno,job,COUNT(*),AVG(sal) FROM emp GROUP BY deptno,job;
 74 --注意:
 75 -----1.出现在SELECT列表中的字段,如果不是包含在多行函数中,那么该字段必须在GROUP BY子句中出现
 76 -----2.包含在GROUP BY子句中的字段则不必须出现在SELECT列表中
 77 -----3.SELECT列表中不允许出现字段(单行函数)与多行函数混用的情况
 78 -----4.不允许唉WHERE子句中使用多行函数
 79 --HAVING从句过滤分组后的结果,它只能出现在GROUP BY从句之后,WHERE过滤行,HAVING过滤分组,HAVING支持所有WHERE操作符
 80 --1.在emp表中,列出工资最小值小于2000的职位。
 81 SELECT job,MIN(sal)
 82 FROM emp
 83 GROUP BY job
 84 HAVING MIN(sal)<2000;
 85 2.列出平均工资大于1200元的部门和工作搭配组合
 86 SELECT * FROM emp;
 87 select deptno, job, avg(sal)
 88 from emp
 89 group by deptno,job
 90 HAVING AVG(sal)>2000
 91 ORDER BY deptno,job
 92 3.统计人数小于4的部门的平均工资
 93 SELECT deptno,AVG(sal)
 94 FROM emp
 95 GROUP BY deptno
 96 HAVING COUNT(*)<4;
 97 4.统计各部门人数
 98 SELECT deptno ,COUNT(*)
 99 FROM emp
100 GROUP BY deptno;
101 5.统计各部门的最高工资,排除最高工资小于3000的部门
102 select deptno,max(sal)
103 from emp
104 group by deptno
105 having not max(sal)<3000;
106 --查询所有表
107 SELECT table_name FROM user_tables;
108 --查看表结构

原文地址:https://www.cnblogs.com/ChenMM/p/9531223.html

时间: 2024-11-03 21:49:50

Oracle—SQL基础语句的相关文章

oracle sql 基础(二):select 语句

为了从数据库中查询数据,你需要用SQL语言中使用最多的SELECT语句.我们分别介绍SELECT语句的基础语法.子查询.从多表中查询数据,然后再进行实例解析. 一.SELECT语句的基础语法 SELECT语句就像叠加在数据库表上的过滤器,即选择查询用于定位数据库特定的列和行.下面是SELECT语句的基础语法.  SELECT [ALL|DISTINCT SELECT_LIST FROM {table_name|view_name} [WHERE search_condition] [GROUP

sql基础语句大集合

每次都习惯于使用SQL Sever直接设计数据库,而没有把对SQL语句引起足够的重视,借这次机房合作版重构的机会,使用SQL语句来一次数据库设计,同时对SQL语句的基本用法做一下梳理. [分类] SQL语句有9种,按照功能划分类别可大体分为4种: 1.查询语句:select ----数据库中最常用用的语句 2.数据定义:create,drop,alter----针对数据库和数据表以及表中的字段进行的操作 3.数据操纵:insert,update,delete----传说中的"增删改查"

oracle sql 基础(四):数据定义语言(创建和管理表、视图)

数据定义语言 (Data Definition Language, DDL) 是SQL语言集中负责数据结构定义与数据库对象定义的语言,由CREATE.ALTER与DROP三个语法所组成.数据库对象包括表.视图.索引.同义词.序列等(TABLE/VIEW/INDEX/SYN/SEQUENCE).我们先对创建和管理表和视图进行一个介绍. 一.创建和管理表 数据表是数据库中一个非常重要的对象,是其他对象的基础.可分为用户表和数据字典两类. 1.创建表(CREATE TABLE) CREATE TABL

SQL基础语句(2)

sqlserver sql语句|经典sql语句|实用sql语句 一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE

oracle sql 基础(三):数据操纵语言

数据操纵语言,Data manipulation language,检称DML,主要包括检索(SELECT).插入(INSERT).更新(UPDATE).删除(DELETE),是SQL的一个核心部分.一条DML将开始一个事务,接下来的DML都是同一事务中的语句,直到提交(COMMIT)或回滚(ROLLBACK).下面我们来逐一介绍下ORACLE中的插入.更新.删除和合并(MERGE)的语法及实例解析.       一.INSERT 语句 1.INSERT 语句的语法 插入单行记录语法:INSER

sql 基础语句

一.数据库管理系统DBMS 软件, bin config db = 保存数据 - admin -随机字符串 封装了[user,pwd,class] - course - school main or src 写程序: a:数据库在本地 1.找到目录 2.添加数据 3.找到数据 b:数据库在远程 1.socket连接上远程机器 2.cocket发送(命令) #add|数据名 做些什么???? a. 1 程序 程序 socket客户端 2 数据 socket_server 3 制作一套规则 add|

oracle sql 基础(五):数据定义语言(创建和管理序列、索引、同义词)

许多应用程序要求使用唯一的数字作为主键的值,你即可以在应用程序中构建代码来处理这种需求,也可以用一个序列来产生唯一的数字.如果你想要增进某些查询的性能,你应该考虑创建一个索引,你也可以用索引在列或列的集合上强制唯一性.你可以用同义词为对象提供可替代的名字.下面我们来介绍序列.索引和同义词三个数据库对象.       一.创建和管理序列 序列是用户创建的数据库对象,可以被多个用户共享. 序列的一个典型的用途是创建一个主键的值,它对于每一行必须是唯一的.序列由一个Oracle内部程序产生并增加或减少

Oracle SQL基础(3)-索引/触发器/视图操作

本文只列出索引,触发器,视图的简单操作语句 1.索引 a.创建 create index idx_name on fdh_client_info(name); --普通索引(单列索引) create unique index uni_idx_id on fdh_client(id); --唯一索引 create index union_idx_name_addr on fdh_client(name, address); --联合索引 b.查询索引 select * from user_inde

【转】ORACLE SQL基础—DDL语言 礼记八目 2017-12-23 21:26:21

原文地址:https://www.toutiao.com/i6502733303550837261/ SQL语言分为:DDL数据定义语言,DML数据操纵语言,DCL是数据库控制语言,TC事务控制语言 *DDL数据定义语言(Data Definition Language):是SQL语言集中负责数据结构定义与数据库对象定义的语言,由CREATE.ALTER与DROP,RENAME,TRUNCATE几个语法所组成. *DML数据操纵语言(Data Manipulation Language),用户通