当前位置: 首页 > news >正文

徐州制作网站的公司有哪些廊坊永清网站建设

徐州制作网站的公司有哪些,廊坊永清网站建设,庆阳网站设计师招聘,wordpress 增加 专题在 Oracle 数据库的知识体系中#xff0c;数据查询语言#xff08;DQL#xff09;无疑是最为常用且关键的部分之一。对于 Java 全栈开发者而言#xff0c;熟练掌握 DQL 不仅能高效地从数据库中获取所需数据#xff0c;更是构建强大后端应用的基石。通过 DQL#xff0c;我…在 Oracle 数据库的知识体系中数据查询语言DQL无疑是最为常用且关键的部分之一。对于 Java 全栈开发者而言熟练掌握 DQL 不仅能高效地从数据库中获取所需数据更是构建强大后端应用的基石。通过 DQL我们可以像一位经验丰富的图书管理员在庞大的数据库书库中精准快速地找到每一本 “数据之书”。接下来让我们深入探索 Oracle 数据库 DQL 的奥秘。 目录 一、DQL 查询数据 一语法结构总览 二查询所有数据 三条件查询 四去重查询 五排序查询 二、系统函数 一聚合函数 二字符串函数 三转换函数 四数值函数 三、求交集、并集与差集 四、企业工作小技巧 一、DQL 查询数据 一语法结构总览 DQL 的基本语法为 select 字段列表 from 表的表名 [where 条件筛选] [order by 排序样本] [having 聚合过滤] [group by 分组字段];这一语法结构如同一个精密的工具每个部分都有其独特的作用协同工作以实现多样化的数据查询需求。 二查询所有数据 指定字段查询当我们只需要获取表中的部分字段数据时可明确指定字段列表。例如从book表中查询id、book_name、author_name和price字段 Select id,book_name,author_name,price from book全字段查询若要获取表中的所有字段数据使用通配符*即可 Select *from book在 Java 全栈开发中当我们构建一个简单的图书管理系统后端时如果前端页面需要展示书籍的所有信息那么使用Select *from book查询出所有字段数据再通过 Java 的数据库连接框架如 MyBatis、Hibernate将数据传递给前端展示。但在实际企业项目中应谨慎使用*因为它可能会带来不必要的数据传输开销特别是在表字段较多时。 三条件查询 条件查询允许我们根据特定条件筛选出符合要求的数据这在实际应用中极为常见。 基本比较运算符包括等于、!或不等于、大于、小于、大于等于、小于等于。例如查询价格大于 50 的书籍 select * from book where price 50;模糊查询使用like关键字结合通配符%和_进行模糊匹配。 %通配符 %在后以前面字符为基准向后匹配 0 到 n 个字符。比如查询出版社名称以 “你干嘛” 开头的所有书籍 select * from book where publish like 你干嘛%;%在前以后面字符为基准向前匹配 0 到 n 个字符。例如查询出版社名称以 “哎哟” 结尾的书籍 select * from book where publish like %哎哟;%在两侧以中间字符为基准向前后匹配 0 到 n 个字符。如查询出版社名称中包含 “干嘛” 的书籍 select * from book where publish like %干嘛%;_通配符 _在后以前面字符为基准向后匹配 1 个字符。例如查询作者姓名为两个字且第二个字为 “辰” 的书籍 select * from book where author_name like 辰_;_在前以后面字符为基准向前匹配 1 个字符。如查询作者姓名为三个字且第三个字为 “西” 的书籍 select * from book where author_name like __西;_在两侧以中间字符为基准向前后分别匹配 1 个字符。比如查询作者姓名三个字且中间字为 “东” 的书籍 select * from book where author_name like _东_;在 Java 全栈开发的电商项目中用户在搜索商品时模糊查询就派上了大用场。前端用户输入关键词后端通过构建类似的模糊查询语句从数据库中检索出相关商品信息返回给用户。 3. 范围查询 使用in关键字查询离散范围。例如查询id是 1、3、5 的书籍 select * from book where id in (1,3,5);使用between and查询连续范围。比如查询价格在 50 到 80 之间的书籍 select * from book where price between 50 and 80;非 NULL 查询通过is null和is not null判断字段是否为空。例如查询没有作者的书籍 select * from book where author_name is null;查询填写了作者的书籍 select * from book where author_name is not null;四去重查询 当查询结果中存在重复数据且我们希望去除这些重复时使用distinct关键字。例如从book表中查询不同的书籍名称和价格 Select distinct book_name,price from book注意distinct关键字作用于其后的所有字段组合并且通常不建议在其后加上唯一标识字段如id因为这会使distinct失去去重意义。在 Java 全栈开发中当我们从数据库获取数据用于前端展示时如果不希望出现重复数据影响用户体验就可以使用distinct进行去重操作。 五排序查询 排序查询用于对查询结果进行排序使数据呈现更具条理性。 基本排序语法为select字段列表 from 表的表名[where 条件筛选] [order by 排序样本];通过asc升序可省略和desc降序指定排序方式。例如查询出版社名称以 “宇宙” 开头的书籍并按出版日期升序排列 Select *from book where publish like ‘宇宙%’ order by publish_date asc按出版日期降序排列 Select *from book where publish like ‘宇宙%’ order by publish_date desc复合排序可以指定多个排序条件先执行前面的排序条件再执行后面的。例如从book表中先按价格升序再按出版日期降序排序 Select *from book order by price ascpublish_data desc在电商平台的 Java 全栈项目中这种复合排序非常有用。比如商品展示页面可能需要先按照销量进行降序再按照价格进行升序以展示热门且价格合理的商品。示例代码如下 create table goods(id number(3) primary key,goods_name nvarchar2(20),goods_type nvarchar2(20),goods_price number(10,2),goods_store number(3),goods_sales number(3),make_address nvarchar2(120) );INSERT INTO goods (id, goods_name, goods_type, goods_price, goods_store, goods_sales, make_address) VALUES (1, 苹果, 水果, 5.99, 100, 200, 山东烟台);INSERT INTO goods (id, goods_name, goods_type, goods_price, goods_store, goods_sales, make_address) VALUES (2, 香蕉, 水果, 3.49, 150, 300, 海南三亚);INSERT INTO goods (id, goods_name, goods_type, goods_price, goods_store, goods_sales, make_address) VALUES (3, 大米, 粮食, 25.75, 500, 1000, 黑龙江五常);select * from goods where goods_type 水果 order by goods_sales desc, goods_price asc;二、系统函数 一聚合函数 聚合函数用于对一组数据进行计算返回一个单一的值。 Count统计满足条件的数据行数。例如统计book表中总共有多少条数据 select count(*) from book;统计作者名字不为空的书籍数量 select count(author_name) from book;统计书籍表中名字带 “童话” 的书籍数量 select count(*) from book where author_name like %童话%;Max查询最大值。如查询关于天文书籍中最贵的价格 select max(price) from book where author_name like %天文%;Min查询最小值。例如查询关于天文书籍中最低的价格 select min(price) from book where author_name like %天文%;Avg查询平均数。查询历史书籍售卖的平均价格如果存在价格为 NULL 的情况使用nvl函数将其转换为 0 后再求平均 select avg(nvl(price,0)) from book where author_name like %历史%;Sum查询和。例如查询科幻书籍售卖的总价 select sum(price) from book where author_name like %科幻%;需要注意的是max、min、avg、sum函数不能直接使用*。在 Java 全栈开发中聚合函数常用于统计报表功能。比如在一个财务系统中使用sum函数统计某段时间内的订单总金额再通过 Java 代码将统计结果展示在报表页面上。 二字符串函数 字符串函数用于处理和操作字符串数据。 大小写转换 upper函数将字符串转换为大写。例如将parents表中email字段的值转换为大写 select id,name,upper(email) from parents;lower函数将字符串转换为小写 select id,name,lower(email) from parents;字符串拼接使用concat函数进行字符串拼接。例如查询parents表中地址以 “成都” 开头的记录 select * from parents where address like concat(成都,%);也可以在虚拟表dual中测试字符串拼接效果 select concat(hello,world) from dual;去除空格trim函数用于去掉字符串两侧的空格。例如处理parents表中address字段的空k格。 select id,name,trim(address) from parents; 字符串截取 ubstr函数从指定位置开始截取字符串。例如从parents表中address字段的第 3 个字符开始截取 select id,name,substr(address,3) from parents; 也可以指定截取长度。如从第 3 个字符开始截取长度为 4 的字符串 select id,name,substr(address,3,4) from parents;获取字符串长度length函数返回字符串的长度。例如获取parents表中address字段值的长度 select id,name,length(address) from parents;字符串替换replace函数用于替换字符串中的指定部分。比如将parents表中address字段里的 “市” 替换为 “国” select id,name,replace(address,市,国) from parents;三转换函数 日期格式化使用to_char函数对日期进行格式化。例如从book表中查询书籍信息并将publish_date字段格式化为yyyy - MM - dd的形式 select id,book_name,to_char(publish_date,yyyy-MM-dd) as publish_date from book;字符串转日期to_date函数将字符串解析为日期类型。例如在虚拟表dual中将字符串2010 - 10 - 10解析为日期 select to_date(2010-10-10,yyyy-MM-dd) as birthday from dual;字符串转数值to_number函数将字符串转换为数值类型。例如在虚拟表dual中将字符串123转换为数值 select to_number(123) from dual;条件转换 使用CASE WHEN语句进行条件判断和转换。例如在parents表中根据gender字段的值转换为对应的性别描述 select id,name,CASE genderWHEN 0 THEN女WHEN 1 THEN男ELSE 其它 END as gender from parents;decode函数也可实现类似功能 select id,name,decode(gender,0,女,1,男,其它) as gender from parents;在 Java 全栈开发中转换函数常用于数据格式的统一和处理。比如从数据库中获取的日期数据通过to_char函数格式化后更方便在前端页面展示。 四数值函数 数值函数用于对数值进行各种运算。 四舍五入 round函数进行四舍五入默认保留整数。例如对3.1415926进行四舍五入 select round(3.1415926) from dual;也可以指定保留小数位数。如保留 2 位小数 select round(3.1415926,2) from dual;取余mod函数计算两个数相除的余数。例如计算 10 除以 3 的余数 select mod(10,3) from dual;向上取整ceil函数将数值向上取整。例如对3.14向上取整 select ceil(3.14) from dual;向下取整floor函数将数值向下取整。例如对3.14向下取整 select floor(3.14) from dual;三、求交集、并集与差集 在处理多个查询结果集时我们可以使用minus求差集、intersect求交集、union求并集操作。 交集例如在friend_info表中查询 “小齐” 和 “蒲哥” 共同的好友 select friend_name from friend_info where user_name 小齐 intersect select friend_name from friend_info where user_name 蒲哥;并集查询 “小齐” 和 “蒲哥” 的所有好友去重 select friend_name from friend_info where user_name 小齐 union select friend_name from friend_info where user_name 蒲哥;需要注意union和union all的区别union all不会去重。例如查询 “小齐” 和 “蒲哥” 的所有好友不去重 select friend_name from friend_info where user_name 小齐 union all select friend_name from friend_info where user_name 蒲哥;在 Java 全栈开发的社交类应用中这些集合操作可以用于好友推荐、兴趣匹配等功能。比如通过交集操作找到有共同兴趣爱好的用户为用户推荐可能认识的人。 四、企业工作小技巧 查询优化在企业项目中数据量往往非常庞大。对于复杂的查询尽量使用索引来提高查询效率。例如如果经常根据作者姓名查询书籍那么为author_name字段创建索引可以显著加快查询速度。同时避免在where条件中对字段进行函数操作因为这会导致索引失效。代码规范与注释在 Java 全栈开发中编写数据库查询相关代码时要遵循良好的代码规范。例如在使用 MyBatis 框架时SQL 语句尽量写在 XML 文件中并添加详细注释说明每个查询的功能、参数含义以及预期返回结果。这不仅方便团队成员理解和维护代码也有助于在出现问题时快速定位和解决。数据安全与权限控制在进行数据查询时要严格控制用户权限。在数据库层面通过角色和权限设置确保不同用户只能查询其有权限访问的数据。在 Java 代码中对用户输入进行严格的校验和过滤防止 SQL 注入攻击保障数据安全。 通过对 Oracle 数据库 DQL 的深入学习和实践我们在数据查询和处理能力上有了显著提升。在未来的 Java 全栈开发旅程中灵活运用这些知识将为我们打造高效、稳定且安全的应用系统奠定坚实基础。
http://www.hkea.cn/news/14457436/

相关文章:

  • 如何管理网站后台保健品手机网站模板
  • 网站的类型及特点第三方电子商务平台有哪些优势
  • 产品做推广一般上什么网站怎么推广效果好呢网站怎么做推广
  • 免费做销售网站有哪些济南的网站建设公司
  • 义乌设计网站如何自己开网址
  • 公司使用威联通nas做网站存储一个网站建设的流程
  • 快速网站排名汉狮公司html网站开发实验报告
  • 网站建设销售提成多少学校的网站建设费如何入账
  • 深圳易百讯网站建设公司社保网上服务平台
  • 学校资源网站建设有啥作用网站怎么做才能被百度收录
  • 石家庄网站排名优化wordpress d压缩
  • 深圳手机网站模板杭州网站制作公司排名
  • 四川省建设招标网站首页微信平台的微网站怎么做
  • 查询网站的外链linux做网站好
  • 九里微网站开发揭阳高端品牌网站建设
  • 新乡网站建设加盟电话佛山市网站建设哪家好
  • 长春seo排名公司网站优化教程
  • 单页网站源码外贸网站建设注意
  • 网站做图标放在手机桌面千助做网站怎么样
  • 在招聘网站做销售微信开放平台 网站应用开发
  • 杭州网站开发培训陕西省住房与建设厅网站
  • 昆明网站设计多少钱wordpress 伪静态链接
  • 0基础做网站工具如何诊断网站为何被降权
  • 上海利恩建设集团有限公司网站wordpress 热搜
  • 光做网站推广咋样托管公司是怎么托管的
  • 网页游戏网站电影word里网站的超链接怎么做
  • 外贸网站建设费用wordpress图片表单插件
  • 市局网站建设建议教育网站如何做经营
  • 网站平台开发游戏推广在哪里接活
  • 常州天宁区做网站公司网站做链接的意义是什么意思