- 尽量说的通俗易懂,尽量表述的细致全面
Oracle是关系型数据库
结构化查询语言
,可以让我们访问和处理数据库。数据库是载体,最终都要回归于业务和具体需求,在21世纪,数据是有巨大价值的。
- 你追求的不仅仅是技术,更是梦想,世界因你在改变!
TABLE:SD_GSS
, 数据如下YEAR NO 1992 2 1992 3 1992 4 2017 5 2017 6 2017 7 SELECT TOP
返回结果集指定行数
SELECT YEAR,NO
FROM SD_GSS
WHERE
YEAR=1992
AND
ROWNUM <3;
- 上面解读:这是一条简单的查询语句,年份为1992共计有3条,后边又加上了返回行数为3的限制
结果如下
YEAR NO 1992 2 1992 3 SQL LIKE 操作符
返回结果集制定行数LIKE
下的条件可以搜索制定模式数据,也就是模糊查询,大体有三种写法
SELECT YEAR,NO
FROM SD_GSS
WHERE
YEAR LIKE '19%'
SELECT YEAR,NO
FROM SD_GSS
WHERE
YEAR LIKE '92%'
SELECT YEAR,NO
FROM SD_GSS
WHERE
YEAR LIKE '%99%'
- 上面解读:第一条是模糊'1992'尾部字符'92',第二条是模糊'1992'首部字符'19',第二条是模糊'1992'首尾字符这样实际中查询范围更广。
- 工作中编程不建议使用LIKE ,效率低下,浪费系统开销
以上三个结果相同,如下
YEAR NO 1992 2 1992 3 1992 4 SQL LEFT JOIN,RIGHT JOIN
两个表中有交集,可以用JOIN连在一起UNOIN,UNION ALL
查询数据,组合在一起,多个SELECT
中间用UNION ALL
,最后一个用UNION
,两个SELECT
用UNION
需要注意的是,
UNION
在一起的,字段需一致,以下SQL
是不行的
SELECT YEAR,NO
FROM SD_GSS
WHERE
YEAR ='1992'
UNION
SELECT YEAR
FROM SD_GSS
WHERE
YEAR ='2017'
INSERT INTO
简单的就是插入- 设计到深入的还有锁表和性能开销,虽然那大都是DBA的事情,但励志成为技术大牛的你,不能不懂。
INSERT INTO
可以指定字段插入,也可以全表插入
INSERT INTO
SD_GSS(YEAR)
VALUES('1992')
INSERT INTO
SD_GSS
SELECT *FROM
SD_GSS_BAK --此处SD_GSS_BAK为SD_GSS的备份表,结构完全一致
最后一个INSERT INTO
遇错小技巧
- 如果遇到以下报错,英文加上经验,报的是数据库唯一性,栏位肯定上了数据唯一性。
ORA-00001: unique constraint (JOAN.SYS_C0099024) violated
- 这时插入大量数据失败,一先
ROLLBCK
回滚,让插入数据动作还原,以防锁表。 - 然后,可以先从备份表中减去母表中数据。再做插入,用
MINUS
做减法
INSERT INTO SD_GSS (SELECT *FROM SD_GSS_BAK MINUS SELECT *FROM SD_GSS) --实际工作中SQL可能很长很复杂
感激
写的比较简单,一切事物发展都有其底层,打好基础。感谢您能在百忙中阅读我的文稿,如有思想交际,不胜荣幸。推荐两个学习网站。
- 菜鸟教程
- 51CTO
remark
- 越是抽离出来的技术点,越是受用,实际结合点多。写的不好,还请多包涵,其实,通过一段时间工作,你理解这结构化的查询语言,入门包括深入理解内部机制是很快的。重在查资料和针对性的自我感悟。
关于作者
var runoob = {
nickName : "墨客码",
site : "http://wwwblogs/gss0525/"
desc : "本菜鸟做后台开发,热衷分享技术,认为不错的,给个赞,不足还望提出宝贵经验,谢谢"
}
转载于:https://wwwblogs/gss0525/p/6779896.html
更多推荐
Oracle高级教程
发布评论