随笔分类 -  SQL

摘要:update project_baseinfo p set p.subType=trim(p.subType); 阅读全文
posted @ 2021-07-09 14:23 万里哥 阅读(1564) 评论(0) 推荐(0)
摘要:mybatis 中 SQL 写在mapper.xml文件中,而xml解析 < 、>、<=、>= 时会出错,这时应该使用转义写法。 < <= > >= & ' " &lt; &lt;= &gt; &gt;= &amp; &apos; &quot; 阅读全文
posted @ 2021-07-08 10:31 万里哥 阅读(1807) 评论(0) 推荐(0)
摘要:查询大于等于当前年份-1的数据 select * FROM eco_consume where year >= to_char(sysdate,'yyyy')-1 阅读全文
posted @ 2021-06-25 16:19 万里哥 阅读(55) 评论(0) 推荐(0)
摘要:oracle生成不重复字符串 在oracle8i以后提供了一个生成不重复的数据的一个函数sys_guid()一共32位,生成的依据主要是时间和机器码,具有世界唯一性,类似于java中的UUID(都是世界唯一的)。 其优点就是生成的字符串是唯一的,但其和UUID有同样的弊端:生成的序列过长并且没有规律 阅读全文
posted @ 2021-06-17 14:54 万里哥 阅读(4630) 评论(0) 推荐(0)
摘要:UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。 UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 阅读全文
posted @ 2021-06-16 17:52 万里哥 阅读(191) 评论(0) 推荐(0)
摘要:前提:表user_info,字段Id(主键),age,sex 删除除主键id外,age和sex字段重复的数据,只留有rowid最小的记录 delete from user_INFO a where (a.age,a.sex) in (select age,sex group by age,sex h 阅读全文
posted @ 2021-06-02 16:57 万里哥 阅读(682) 评论(0) 推荐(0)
摘要:select a.* from auser a ,buser b where a.id = b.id 阅读全文
posted @ 2021-05-11 14:58 万里哥 阅读(63) 评论(0) 推荐(0)
摘要:--从序号1开始,查询5个字符 select substr(project_name,1,5) from project_base_info 阅读全文
posted @ 2021-05-10 14:47 万里哥 阅读(109) 评论(0) 推荐(0)
摘要:在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断, 阅读全文
posted @ 2021-04-27 10:32 万里哥 阅读(67) 评论(0) 推荐(0)
摘要:在SQL语言中,一个 SELECT-FROM-WHERE 语句称为一个查询块。将一个查询块嵌套在另一个查询块的 WHERE 子句或 HAVING 短语的条件中的查询称为 嵌套查询。例如: --查询id在年龄大于18的数据 select * from student where id in (sele 阅读全文
posted @ 2021-04-26 14:03 万里哥 阅读(342) 评论(0) 推荐(0)
摘要:student表:id ,name ,age -- nvl函数,如果age不为空则显示第一个参数即age原本的值,如果为空则显示第二个参数即18,且两个参数数据类型要一致,否则报错 select nvl(age,18) from student -- nvl2函数,如果name不为空则显示’亚索‘第 阅读全文
posted @ 2021-04-19 10:54 万里哥 阅读(411) 评论(0) 推荐(0)
摘要:数据库 : student表 id,s_name,s_age 三个字段 -- 通常在运算函数后可自定义新字段 -- 将查询数量转为自定义num select count(*) num from student -- 将查询年龄最大值自定义maxage select max(age) maxage f 阅读全文
posted @ 2021-04-19 10:24 万里哥 阅读(662) 评论(0) 推荐(0)
摘要:-- abs函数 select * from A a inner join B b on a.CODE = b.CODE where a.NAME = '市本级' and abs(a.PROGRAM_BUDGET - b.money) >= 100 阅读全文
posted @ 2021-03-18 10:32 万里哥 阅读(546) 评论(0) 推荐(0)
摘要:判断为空,在oracle中是无法用 = 号的,是用 is null等语句进行测试,用 = 号不会报错,但是查询结果为0条数据 -- 查询年龄为空的数据 select * from where age is null -- 查询年龄不为空的数据 select * from where age is n 阅读全文
posted @ 2021-03-17 10:27 万里哥 阅读(373) 评论(0) 推荐(0)
摘要:-- 以name进行分组,并查看每组个数,其中count(*)可改为count(name) select count(*),name from student group by name 阅读全文
posted @ 2021-03-16 16:15 万里哥 阅读(281) 评论(0) 推荐(0)
摘要:内连接(INNER JOIN )是查询出两个表对应的数据,如果把两个表分别看成一个集合的话,内连接的结果即为两个表的交集 -- inner join 就等于 join ,可以替换使用 SELECT * FROM student a INNER JOIN user b ON a.id = b.id - 阅读全文
posted @ 2021-03-16 11:34 万里哥 阅读(6526) 评论(0) 推荐(0)
摘要:右(外)连接(RIGHT JOIN )是以右表为基准,查询出右表所有的数据和左表中连接字段相等的记录,如果左表没有对应数据则在右表对应数据行显示为空(NULL).如果把两个表分别看成一个集合的话,则显示的结果为JOIN右边的集合。 select * from student a right join 阅读全文
posted @ 2021-03-16 11:30 万里哥 阅读(663) 评论(0) 推荐(0)
摘要:左(外)连接(LEFT JOIN),以左表为基准,查询出左表所有的数据和右表中连接字段相等的记录,如果右表中没有对应数据,则在左表记录后显示为空(NULL).如果把两个表分别看成一个集合的话,则显示的结果为JOIN左边的集合。 select * from student a left join us 阅读全文
posted @ 2021-03-16 11:29 万里哥 阅读(2198) 评论(0) 推荐(0)
摘要:--Mapper文件中 select * from user where name LIKE CONCAT('%',CONCAT(#{firstName}, '%')) select * from user where name like '%万里哥%' 阅读全文
posted @ 2021-03-12 11:29 万里哥 阅读(597) 评论(0) 推荐(0)
摘要:-- 将name为空的值排在后面 select * from userinfo ORDER BY name DESC nulls last 阅读全文
posted @ 2020-08-21 15:01 万里哥 阅读(321) 评论(0) 推荐(0)