当前位置:网站首页>ORACLE - 数据查询
ORACLE - 数据查询
2022-06-25 21:50:00 【攀登程序猿】
案例1:插入数据
INSERT INTO "WATERBOSSFACTORY"."TBL_STUDENTS"("STU_NUM", "STU_NAME", "STU_SEX", "STU_AGE", "STU_TEL", "STU_CID") VALUES ('2022000001', '赵云', '男 ', '22', '17896523785', '001');
insert into table_name(column1,column2) select column1,column2 from other_table;
// 创建表时直接插入数据
CREATE TABLE tbl_test AS SELECT STU_NUM,STU_AGE,STU_SEX FROM TBL_STUDENTS;注:
(1)小括号中指定需要添加数据的列名,可以一个到多个,如果是所有列都添加数据时,可以省略,建议不省略
(2)values中给出的数据需要和列名一致
案例2:修改数据
UPDATE "TBL_STUDENTS" SET "STU_NUM" = '2022000003', "STU_NAME" = '赵云', "STU_SEX" = '男 ', "STU_AGE" = '22', "STU_TEL" = '17896523785', "STU_CID" = '001' WHERE "STU_NUM" = '2022000001' AND "STU_NAME" = '赵云' AND "STU_SEX" = '男 ' AND "STU_AGE" = '22' AND "STU_TEL" = '17896523785' AND "STU_CID" = '001';案例3:删除表中的数据
DELETE TBL_STUDENTS WHERE STU_NUM = '2022000003'案例4:简单查询语句
为快速创建数据,下载了方方格子,一个excel神器可以快速生成电话号码,姓名等等,此时一共有1343条数据。
// 指定列与所有列
SELECT STU_NAME FROM TBL_STUDENTS;
// 所有列
SELECT * FROM TBL_STUDENTS;
// 字段起别名
SELECT STU_NAME AS 姓名,STU_AGE AS 年龄 FROM TBL_STUDENTS;
// 计算列
SELECT STU_NAME AS 姓名,2022-STU_AGE AS 出生年 FROM TBL_STUDENTS;
// 使用函数
SELECT STU_NAME AS 姓名,SUBSTR(STU_TEL, 8, 4) AS 电话后四位 FROM TBL_STUDENTS;
// 把重复性的记录去掉,只保留一条。修饰多字段时,多个字段的值都不一样才保留
SELECT DISTINCT STU_NAME,STU_AGE FROM TBL_STUDENTS;注:
(1)distinct如果是多个字段时,会造成多个字段都不相等时算做重复,如果此时还想单个去重,则使用group by
案例4:排序
ORDER BY默认升序,空是最大的
SELECT * FROM TBL_STUDENTS WHERE STU_CID = '002' ORDER BY STU_TEL DESC
// 多字段排序
SELECT * FROM TBL_STUDENTS WHERE STU_CID = '002' ORDER BY STU_TEL DESC,STU_AGE 注:
(1)多字段排序,谁在前面谁先排序
案例5:分组查询
聚合函数:conunt() 数据统计 sum() avg()max() min()
// 聚合查询
SELECT sum(STU_AGE) FROM TBL_STUDENTS WHERE STU_NAME LIKE '%韩%'
SELECT max(STU_AGE) FROM TBL_STUDENTS WHERE STU_NAME LIKE '%韩%'
SELECT min(STU_AGE) FROM TBL_STUDENTS WHERE STU_NAME LIKE '%韩%'
SELECT conut(STU_AGE) FROM TBL_STUDENTS WHERE STU_NAME LIKE '%韩%'
SELECT AVG(STU_AGE) FROM TBL_STUDENTS WHERE STU_NAME LIKE '%韩%'
// 分组查询
SELECT STU_SEX,COUNT(*) FROM TBL_STUDENTS WHERE STU_NAME LIKE '%韩%' GROUP BY STU_SEX
// HAVING GROUP BY分组后的结果添加过滤条件
SELECT STU_AGE,COUNT(*) FROM TBL_STUDENTS WHERE STU_NAME LIKE '%韩%' GROUP BY STU_AGE HAVING STU_AGE != 14
(1)如果使用group by的结果,则select 后只能是分组字段或者聚合函数,如果使用其它的,则会报错
ORA-00979: not a GROUP BY expression
(2)HAVING必须添加到group By的后面
案例6:嵌套查询
根据其它表的信息,查询本表的数据
// 展示班级名称和班级中的人数
SELECT '计控2班',COUNT(*) FROM TBL_STUDENTS WHERE STU_CID = (SELECT CLASS_ID FROM TBL_CLASSES WHERE CLASS_NAME = '计控二班')注:子查询只返回一个值,则使用=,如果是多条数据,则使用IN关键字
案例7:连接查询
两个表的内容进行拼接,并且按照两个表的过滤条件过滤
内连接:查询出两个表的匹配数据
第二条是条件查询使用WHERE,第三条是内连接使用ON,分为等值连接和不等值连接,不等值连接用的不多
// 数量是两个表的笛卡尔积(集合相乘,个数是两个集合的个数的乘积)
SELECT * FROM TBL_STUDENTS,TBL_CLASSES
SELECT * FROM TBL_STUDENTS student,TBL_CLASSES class WHERE student.STU_CID = class.CLASS_ID
SELECT * FROM TBL_STUDENTS student INNER JOIN TBL_CLASSES class ON student.STU_CID = class.CLASS_ID
SELECT * FROM TBL_STUDENTS LEFT JOIN TBL_CLASSES ON TBL_STUDENTS.STU_CID = TBL_CLASSES.CLASS_ID
// 显示班级表的所有数据,如果学生和班级匹配一条则显示一条,如果学生没有进班级,则此条不显示,如果班级没有进学生,则此条显示,但是学生是空
SELECT * FROM TBL_STUDENTS RIGHT JOIN TBL_CLASSES ON TBL_STUDENTS.STU_CID = TBL_CLASSES.CLASS_ID外连接:JOIN关键字前边的是左连接,后边的是右连接
左外连接:包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行
右外连接 :包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行
全外连接 : 包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行。
边栏推荐
- Research and Analysis on the current situation of Chinese acne drug market and forecast report on its development prospect (2022)
- Progress of the 137th MPEG Conference
- Obsidian基础教程
- Analysis report on demand and investment forecast of global and Chinese flame retardant hydraulic oil market from 2022 to 2028
- 2022-2028 global carbon fiber unidirectional tape industry research and trend analysis report
- Guidelines for implementing dns-sd in an NMOS environment
- 2022-2028 global RBI platform industry research and trend analysis report
- 聊聊Adapter模式
- Practice of product library platform nexus of Devops
- Touring band: a 5g based multi camera remote distributed video production experiment
猜你喜欢

2022-2028 global vacuum jacket system industry survey and trend analysis report

剖析虚幻渲染体系(16)- 图形驱动的秘密

【WPF】CAD工程图纸转WPF可直接使用的xaml代码技巧

2022-2028 global DC linear variable differential transformer (LVDT) industry survey and trend analysis report
What are the debugging methods for nodejs

Illustration de l'exécution du cadre de pile

Créer le premier site Web avec idea

记|一次exists关键字的学习记录

Why is BeanUtils not recommended?

2022 love analysis · panoramic report of it operation and maintenance manufacturers
随机推荐
China coated abrasive tools industry market depth analysis and development strategy consulting report 2022-2028
2022-2028 global RBI platform industry research and trend analysis report
[WPF] XAML code skills that can be directly used for converting CAD engineering drawings to WPF
Fujilai pharmaceutical has passed the registration: the annual revenue is nearly 500million yuan. Xiangyun once illegally traded foreign exchange
How to use the find command
2022-2028 global extrusion coating and lamination production line industry research and trend analysis report
Data governance is easier said than done
[dynamic programming] longest palindrome substring thinking about dynamic transfer cycle sequence
Three layer architecture + routing experiment
Summary of basic knowledge of neural network
Market demand analysis and investment prospect research report of China's CNC machine tool industry 2022-2028
图解栈帧运行过程
Obsidian basic tutorial
Pycharm 2022.1 EAP 2 release
2022-2028 global open source cloud storage industry research and trend analysis report
Illustration de l'exécution du cadre de pile
面对AI人才培养的“产学研”鸿沟,昇腾AI如何做厚产业人才黑土地?
27 Chinese scholars including Yaoban and chendanqi from Tsinghua won the awards, and the list of winners of Sloan award in 2022 was issued
【WPF】CAD工程图纸转WPF可直接使用的xaml代码技巧
[WPF] XAML code skills that can be directly used for converting CAD engineering drawings to WPF