Oracle 基本 SQL 语句查询手册(1):增删改查

关于SQL语法学习,这里有一份图文并茂的教程,点击此处 

针对文字内容进行简化, 通过注释,解释语句含义

本文的重点在于Oralce中写法,当然了,大部分写法都是通用的,查询手册,没有配图,各位看官见谅

创建临时表,用于测试,练习基本语句的写法,没有什么特殊的写法,下文用到的语句都是基本用法

--Test Table
CREATE TABLE person
(
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);

平常不怎么用的写法:

  • regexp_like 正则表达式过滤数据
  • between 不包含边界数据
-----------------------------------------------------
--基础写法
-----------------------------------------------------

--基本查询
select * from person;

--别名查询
select a.firstname, a.lastname from person a;

--组合查询
select a.address, a.* from person a;

--重命名列名
select a.lastname as name from person a;

--查询唯一值
select distinct a.lastname from person a;

--插入数据
insert into person (id, lastname) values (1, 'Tom');

--改写数据
update person a set a.firstname = 'Jack' where a.lastname = 'Tom';

--删除数据
delete person a where a.firstname = 'Jack1';

 添加修饰符,按语义建立表的优先级,优先级高的返回全部数据

  • join 至少匹配一行
  • left join 返回左表全部数据
  • right join 返回右表全部数据
  • full join 左右表的全部数据
-----------------------------------------------------
--高级查询
-----------------------------------------------------

--利用虚列的概念,过滤一定数量的数据
select * from person a where Rownum <=1;

--模糊查询,% 匹配任意字符串
select * from person a where a.lastname like '%T%';

--模糊查询,_ 匹配任意单个字符
select * from person a where a.lastname like 'T_m';

--查询 lastname 字母 T 开头,引号中编写正则表达式
select * from person a where regexp_like(upper(a.lastname), '^[T]');

--查询某个集合中的数据
select * from person a where a.lastname in ('Jack', 'Tom')

--查询某个范围之间的数据,Oracle 中,不包含边界数据,使用 not,能查询出我们唯一的测试数据
select * from person a where a.lastname not between 'Tom' and 'Jack';

--关联表进行查询
select a.*, b.orderno from person a, orders b where b.personid = a.id;

--使用 join 改写上述语句
select a.*, b.orderno from person a join orders b on b.personid = a.id;

表结构类似的结果集,可以合并后进行输出 

  • union 连接结果集,过滤重复数据
  • union all 连接结果集,不过滤重复数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

假装不困

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值