SQLSERVER,ACCESS都用SQL结构化查询语言,这是数据库中不可少的一部分,当然ORACLE也强支持!

sqlplus

connect scott/tiger 登陆

create table abc(a varchar2(10),b char(10)); 新建一个表

alter table abc add c number; 向表里添加一个字段

drop table abc; 删除表里的所有信息

alter table abc drop column c; 删除表里的一个字段

insert into e(eid,ename) values('','');只能插入一条记录。

insert into e(eid,ename) select id,name from d;把D表中的结果集插入到当前表中,类型,字段匹配。

create table name(t char(10))创建一个新表。
create table t as (select ID,NAME from e);把E表中的ID,NAME字段和对应的记录复制到新表T中。后面的括号可以不加。

connect tt/tt11  登陆

select * from scott.dept; 查询某用户下的表,但是没有权限

conn scott/tiger 登陆

grant select on dept to tt;受权给TT,可以操作DEPT表的SELECT

remoke select on dept from tt;收回SELECT权限

insert into abc(a,b,c) values('c','b','a'); 插入一条记录

insert into abc values('c','b','a');

update abc set a='a',b='b' where c='c'; 更新记录

delete from abc; 删除表中的所有记录

delete from abc where c='c'; 删除WHERE条件的记录

常用系统函数:
1、字符
length
select left('abcdef') from dual;查它的字符数
select lengthb('fdafa  ');查询它的字节数

select ltrim('  fadf   ') from dual;删除左边空格
rtrim,trim分别删除右边和两边的字符;

如果定义的字段为定长的,这时候如果字符不够则会补空格;

SUBSTR
select substr('abcdefg',2,3) from dual;取指定第几个到第几个的字符

ORACLE中不支持LEFT,RIGHT函数

2、日期
select sysdate from dual;表示当前时间
alter session set  nls_date_format='dd-mon-yyyy hh:mi:ss' 设定日期格式
select current_date from dual;查询上面指定格式的日期
select next_day(sysdate,'星期三') from dual;查询当前下个星期,指定星期数的那个日期

3、转换
select to_char(sysdate,'yyyy-mm-dd') from dual;把日期转换为指定格式的字符串
to_date:转换成日期格式
to_number:转换为数字型

4、聚集函数
sum:select sum(price) from books:查询价格的总值
avg:平均值
max:select max(price) from books;查询价格的最大值
min:查询最小值
count:总共多少记录,行数count(*),count(price),一般查询出的结果是一样的,但有些情况是不一样的,当某字符允许有空值的时候就会出现差别

5、其它
user:select user from dual;查询当前登陆账号,conn tt/tt11登陆
select sum(decode(sex,'男',1,0)) 男人数,sum(decode(sex,'女',1,0)) 女人数 from e;查询男人数和女人数的个烽
select a1,nvl(a2,'没有输入') from aa;但询a2字段如果为空值就显示“没有输入”
select * from aa where a2 is null;查询A2为空的记录
select * from aa order by a1 desc;按降序排列,ASC为升序.
select distinct a1 from aa;只显示重复的一条,distinct

分组语句
select sum(price*qty) from books;查询全部总金
select pub,sum(price*qty) from books group by pub;分组查询每个出版社的总金,前面的PUB和后面的PUB一定要对应
SUM聚集函数不能在WHERE中出现

模糊查询
select  a1 from where a1 link 'a_';以A开头的任意单个字符结尾的
LINK 'A%':以多个结尾字符结尾的
LINK '%A%':只要包含A就能查出来

表的连接
查询二个或二个以上的表
select eid 编号,ename 姓名,sex 性别,id 所在部门 from e;
内连接(两个表完全匹配)
select eid 编号,ename 姓名,sex 性别,d.id 所在部门 from e,d where e.id=d.id;如果两个表中都有ID这个字段,这里就要在字段列表中表名.字段
select eid 编号,ename 姓名,sex 性别,d.id 所在部门 from e join d on e.id=d.id;和上一条语句一样,但标准是这一种格式
外连接(左连接,右连接)
左外连接:
select eid 编号,ename 姓名,sex 性别,d.id 所在部门 from e,d where e.id=d.id(+);以左边的记录为准,左边的记录全部显示,右边显示符合条件的记录
右外连接:where e.id(+)=d.id;与左连接相反

子查询
select * from e where id in(select id from d);这是无关子查询,从D里找E
select * from e where id in(select id from d where id=e.id and id='03');后面那个子查询不能使用*,这样会出现错误 
select * from e where exists(select id from d);是否存在;这两个后成可以用*
select * from e where not exists(select id from d);查询不存在的记录

补充
selec eid,ename from e union select id,name from d;把E表和D表中的结果集合并到一起来,如果有重复的记录则只显示一条

select id from e intersect select id from d;返回两者都匹配的记录(ORACLE中独有的)

第三天.SQL语言基础相关推荐

  1. mysql请输入一个有效类型的长度值_MySQL数据库基础(三)——SQL语言

    MySQL数据库基础(三)--SQL语言 发布时间:2020-05-19 16:40:05 来源:51CTO 阅读:10596 作者:天山老妖S MySQL数据库基础(三)--SQL语言 一.SQL语 ...

  2. 实验四 数据库SQL语言基础编程

    -- 实验四 数据库SQL语言基础编程 -- 实验目的: --  掌握数据库查询语句的编写方法 --  掌握利用查询语言完成基本查询 --  掌握利用SQL语句完成数据的添加.删除.修改操作 -- 实 ...

  3. 【数据库学习笔记】Day03 - SQL语言基础及数据库定义功能

    [数据库学习笔记]Day03 - SQL语言基础及数据库定义功能 〇.本文所用数据库表格: 一.关系运算: 关系运算,数学名词,基本运算有两类:一类是传统的集合运算(并.差.交等),另一类是专门的关系 ...

  4. SQL语言基础教学 | Mysql 入门教学

    SQL语言基础教学 SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言.本文将介绍SQL语言基础,包括SQL语言的基本语法.数据类型.数据查询.数据更新等 ...

  5. Hello MySQL(三)——SQL语言

    一.SQL语言简介 1.SQL语言简介 SQL是结构化查询语言(Structured Query Language),是用于访问和处理数据库的标准计算机语言. SQL语言的功能如下: A.SQL面向数 ...

  6. MySQL从删库到跑路(三)——SQL语言

    作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.SQL语言简介 1.SQL语言简介 SQL是结构化查询语言(Structured Query Language) ...

  7. KingbaseES PL/SQL 过程语言参考手册(3. PL/SQL语言基础)

    3. PL/SQL语言基础¶ 本章节阐述PL/SQL语言的基本组成. 字符集 词法单元 声明 对标识符的引用 标识符的作用域和可见性 为变量赋值 表达式 错误报告函数 3.1. 字符集 任何要由PL/ ...

  8. PL/SQL语言基础

    PL/SQL语言基础 /********************************数据类型*************************************/ %rowtype  (行对 ...

  9. php flock 都是true_PHP从入门到精通(三)PHP语言基础

    PHP从入门到精通(三)PHP语言基础 一.PHP标记风格 PHP支持4种标记风格 1.XML风格.(推荐使用) <?phpecho "这是XML分割的标记"; ?> ...

  10. tinyint数据类型php筛选时怎么判断_PHP从入门到精通(三)PHP语言基础

    PHP从入门到精通(三)PHP语言基础 一.PHP标记风格 PHP支持4种标记风格 1.XML风格.(推荐使用) <?phpecho "这是XML分割的标记"; ?> ...

最新文章

  1. python 遍历字符串的每一个字符_Python之字符串的遍历的4种方式
  2. 服务机器人---充电级和行进面
  3. filter 中用spring StopWatch 监控请求执行时间
  4. SolidEdge如何自动标注尺寸
  5. 安装配置tengine
  6. 前端学习(1689):前端系列javascript之如何搞定面试题
  7. 众筹网站系统源码+手机端
  8. opencv+Java+android 灰度图像
  9. IAR软件中查看代码大小
  10. c语言算法课件,《C语言常见算法》PPT课件.ppt
  11. 汉字,五笔,拼音的转换
  12. 基础一:JS数据类型
  13. 下载.Net Framework离线安装文件的办法
  14. linux 串口驱动
  15. IPC的标准是什么?
  16. 怎么去除脸上的黄褐斑
  17. dlib android版本号,dlib-android
  18. JS基础 原型与继承
  19. 我与朗科不得不说的那些事儿
  20. 嵌入式硬件协议: SPI串行外设接口 Serial Peripheral Interface

热门文章

  1. 安装HDFS过程中Browse Directory报错
  2. conflicting declaration ‘typedef struct LZ4_stream_t LZ4_stream_t’解决
  3. swoole php 微信推送,基于thinkphp5、swoole和easywechat微信模板消息推送
  4. HarmonyOS 组件篇
  5. L1-001 Hello World (5 分)—团体程序设计天梯赛
  6. [USACO16OPEN]262144
  7. 023-数据结构与算法系列
  8. 007---多态与多态性
  9. 《JavaScript 高级程序设计》第三章:基本概念
  10. 有indexPath获取到cell对象