数据库——操作数据库语句(select单表查询)
大家好,又见面了,我是你们的朋友全栈君。
前两天又装了oracle,开始再次学习数据库,希望这次可以系统的学习,主要是语句的学习。
数据库操作语句SQL
一、select 查询语句
二、DDL 数据 定义 语句(create、drop、alter)
三、DML 数据 操作 语句(insert delect update)
四、TCL 事务 控制 语句(commit 提交、rollback 撤销 、savepoint 保存)
一、SELECT 1、select 字段名1,字段名2,字段名3 from 表名; 2、*代表所有的字段名,不推荐。(效率差一点) 3、字段或者表达式 + – * / select salary,14*salary from s_emp; 一个月涨500之后,再显示: select salary+500,14*(salary+500)from s_emp; 4、不让显示——起别名 空格。 select salary+500 sal,14*(salary+500) Y_sal from s_emp; 5、字符串怎么解决:单引号
6、把两个字符拼接起来:|| select first_name || last_name name from s_emp;
用下划线隔开:
select first_name || ‘_’ || last_name name from s_emp;
7、特殊拼接:拼接一个单引号(转义的思想)
select first_name || ‘‘’’ || last_name name from s_emp;
拼接两个单引号?? select first_name || ‘‘’’ ||‘‘’’ || last_name name from s_emp;
select first_name || ‘‘‘‘’’ || last_name name from s_emp;
两种方法都是对的。
7、空值(null)的处理:(空值和任何值做运算 都是空值) select salary sal , salary*12(1+commission_pct)/100 from s_emp; nvl(part1,part2) null值处理函数 当part1为空值,就返回part2 若part1不为空,就返回part1 NULL要早点处理 select salary sal , nvl(salary*12(1+commission_pct)/100, 100) from s_emp;
8、把s_emp表中的manager_id查询出来,如果manage_id是空 就显示成-1; select nv1(manager_id,-1) from s_emp;
9.数据的排重:distinct select salary from s_emp; select distinct salary from s_emp;
二、where 语句 1、作用:限制表中的行数剧,返回。 2、两个 from 表名 where 1=1; from 表名 where 1=2; — 代表单行注释
把s_emp表中salary大于1400员工信息显示出来 select * from s_emp where salary>1400; 把s_emp表中salary大于1400员工信息显示出来 select * from s_emp where salary=1400; 把s_emp表中name叫CAI员工信息显示出来 select * from s_emp where name=’CAI’; 3、常见的条件运算符: = > <
4、sql提供的运算符: 4.1 表达式表达一个闭区间;[a,b] between a and b; 把s_emp表中工资在1000到1500之间的员工信息 显示出来 select * from s_emp where salary between 1000 and 1500; 4.2 表达式表示一个范围的取值:in where id in(2,5,7); 4.3 模糊查询 like where name like ‘李%’; where name like ‘%小%’; 4.4 特殊的转义处理: _和% where name like ‘S\_%’ escape ‘\’; 找出所有__开头的表名 where name like ‘S\_\_%’ escape ‘\’;
三、空值的判断: is NULL 1、找出提成是10的员工: select id from s_emp where commission_pct = 10; 2、找出提成不是10的员工: select id from s_emp where commission_pct != 10; 3、找出提成是NULL的员工: select id from s_emp where commission_pct is NULL;
总结;模糊查询 、空值的判断、。。。
7.7 逻辑条件: and where salary >=1400 and salary <=2500; or not 八、数据的排序: order by 排序标准 排序方式(desc); 按照一定的排序标准把数据按照升序或者降序的次序进行排序 升序:默认 asc 降序:desc 排序中的NULL是如何处理的 :作为最大值。
查询的第四部分
一、单行函数 特点:针对SQL语句的每一行,都返回一个结果。 多行函数(组函数): 特点:针对SQL语句的一组数据,都返回一个结果。 eg:upper(part1) 字母变大写(单行函数) select first_name,upper(first_name) from s_emp where id = 1; 一行 select first_name,upper(first_name) from s_emp where id < 1; 无结果 select first_name,upper(first_name) from s_emp where id > 1; 24个结果 count(part1) 统计函数(组函数) select first_name,count(first_name) from s_emp where id = 1; 出现错误 select count(first_name) from s_emp where id = 1; 正确 1 select count(first_name) from s_emp where id < 1; 0 select count(first_name) from s_emp where id > 1; 24
1.3 测试表:dual
单行单列的表
select * from dual;
select upper(‘hello’) from dual;
1.4 处理字符串的单行函数
大写 upper(part1) select upper(‘hello’) from dual;
小写 lower(part1) select upper(‘HELLO’) from dual;
首字母大写 initcap(part1) select initcap(‘hello world’) from dual;
长度 length(part1) select length(‘hello’) from dual;
连接 concat(part1,part2) select concat(‘hello world’) from dual;
|| 作为连接更加方便 select first_name||last_name name from s_emp; 截取函数 substr(part1,part2,part1) part1:字符串
part2:数字,从哪位开始截取,编号从1开始截取(C中是从0开始)
part2:截取长度
替换 replace(part1,part2,part1)
part1:要处理的字符串
part2:要被替换的内容
part2:被替换成的内容 to_char(part1,part2)
part1:要处理的数字
part2: 格式
‘格式’:
fm:格式的开头
0:小数点前代表前置导零
9:0到9数字
,:分隔符 千位
.:小数点
¥:rmb
$:美元
eg:select to_char(12345,’fm$099,999.99′) from dual;
select to_char(12345.23,’fm$099,999.00′) from dual;
按照如下格式显示工资:
‘fm$099,999.00’
select id,first_name,to_char(salary,‘fm$099,999.00’) from s_emp;
1.8 处理数字函数: round(part1,part2) 四舍五入 part1:要处理数字 part2:默认0代表取整 1代表保留小数点后一位 -1代表对小数点前一位进行 四舍五入 select round(2.54) from dual; select round(2.54,1) from dual; select round(2.54,-1) from dual;
trunc 截取函数(用到的更多) trunc(part1,part2) 截取(数字,字符串等等) part1:要处理数字 part2:默认0代表取整 1代表保留小数点后一位 -1代表对小数点前一位进行 截取 select trunc(2.54) from dual; select trunc(2.54,1) from dual; select trunc(2.54,-1) from dual; 1.9函数嵌套:把一个函数的返回值作为另一个的嵌套。 select concat (concat(‘a’,’b’),concat(‘c’,’d’)); 显示first_name 的后三个字符 length substr select first_name,substr(first_name,length(first_name)-2,3) from s_emp;
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137438.html原文链接:https://javaforall.cn
相关文章
- 【Redis】Redis 数据库操作 ③ ( Redis 键操作 | 连接数据库 | 向数据库中添加值 | 查询所有键 | 查询键存在 | 查询键类型 | 删除键 | 设置键过期时间 )
- 【Redis】使用 Jedis 操作 Redis 数据库 ② ( Jedis API 规律 | Redis 命令与 Jedis 函数名称基本一致 | Jedis API 使用示例 )
- MySQL数据库学习之查询操作详解
- MySQL数据库中的增删改查操作代码(mysql增删改查代码)
- 利用Oracle触发器实现数据库自动化操作(oracle触发器类型)
- JSP配合MySQL实现数据库操作(jspmysql实例)
- MySQL 学习笔记: 连表查询操作详解(mysql数据库连表查询)
- 探究MySQL数据库的锁机制,掌握数据并发读写中的正确解锁方法。(mysql数据库锁机制)
- MySQL查询语句详解,助您轻松操作数据库。(mysql中的查询语句)
- VB.NET和MySQL的数据库操作实战(vbmysql实例)
- Oracle监听状态查询:实现数据库管理的基础操作(查看oracle监听状态)
- 智能化操作:群晖备份MSSQL数据库(群晖备份mssql)
- 易语言操作MSSQL视图,轻松实现数据库查询(易语言读mssql视图)
- 易语言操作MSSQL:一种轻松实现数据库操作的方式(易语言操作mssql源码)
- Redis清除操作指南:快速清空数据库,提升系统性能(redisclear)
- 详解Oracle数据库中查询锁定操作的技巧与注意事项(oracle查询锁定)
- MySQL批处理命令:高效操作数据库(mysql批处理命令)
- Oracle Q操作指南:成功实现数据库查询(oracle q 操作)
- C语言编写MySQL指令实现数据库操作(c mysql 指令)
- 除C语言环境下Oracle数据库的删除操作(c oracle 删)
- MySQL数据库不支持全连接操作,详解查询中的连接方式(mysql 不支持全连接)
- Oracle数据库不支持OR操作(oracle不用or查询)
- perl数据库添加、删除、更新、查询操作例子