- 浏览: 401079 次
- 性别:
- 来自: 昆明
文章分类
- 全部博客 (198)
- java (28)
- J2EE (19)
- struts (33)
- sping (13)
- hibernate (18)
- mybatis (15)
- connection pool (3)
- DB (26)
- SQL (21)
- html (13)
- js (7)
- json (3)
- jquery (2)
- document (17)
- linux (15)
- C# (1)
- url (2)
- eweb4j (1)
- Turbine (1)
- 框架 (11)
- jdbcTemplate (3)
- aop (2)
- windows (2)
- ubuntu (1)
- eclipse (11)
- JPA (8)
- svn (4)
- get 传值 (2)
- mysql (5)
- oracle (2)
- hadoop (1)
- MongoDB (2)
- spring (1)
- python (1)
最新评论
-
jcbingjc:
楼主,你好,按照上面的配置,我报如下错误:Missing Pe ...
[properJavaRDP]在网页中实现远程连接 -
sucful:
折腾了半天跑不通 ,要传就搞个完整的吧
Struts2 <sx:div/>实现页面模块异步刷新 -
Kattou:
你好! 看了你写的这个分页 感觉很好, 但是不怎么会用么,请指 ...
jsp分页控件 -
我叫PSB:
地址完全用不了
eclipse中的安装 jseclipse -
1111emotion:
我的工程里还是有乱码的情况,我该改的地方都改了。
Eclipse/MyEclipse更改默认字符集 设置UTF-8
今天有人在CSDN上问,我就随手写了一段.
CREATE TABLE tb (ID INT IDENTITY(1,1),VALUE VARCHAR(100))
INSERT tb SELECT '中国'
UNION ALL SELECT '中国人'
UNION ALL SELECT '中国人民'
UNION ALL SELECT '日本'
UNION ALL SELECT '日本人'
UNION ALL SELECT '我的心中有人姑娘'
UNION ALL SELECT '人民网'
UNION ALL SELECT '中国是个伟大的国家'
UNION ALL SELECT '我们都是中国人,都是炎黄子孙,都是龙人传人'
DECLARE @searchSTR VARCHAR(20)
SET @searchSTR='中国人'
SELECT ID,VALUE FROM tb a
INNER JOIN fn_SplitStringToROWS(@searchSTR) b
ON CHARINDEX(b.v,a.VALUE)>0
WHERE VALUE LIKE '%[中国人]%'
GROUP BY ID,VALUE
ORDER BY COUNT(DISTINCT v) DESC
DROP TABLE tb
--附函数
CREATE FUNCTION fn_SplitStringToROWS
(
@str VARCHAR(100)
)
RETURNS @t TABLE(v VARCHAR(2))
AS
BEGIN
DECLARE @i INT
SET @i=1
WHILE @i<=LEN(@str)
BEGIN
INSERT @t SELECT SUBSTRING(@str,@i,1)
SET @i=@i+1
END
RETURN
END
/*
(所影响的行数为 9 行)
ID VALUE
----------- ----------------------------------------------------------------------------------------------------
9 我们都是中国人,都是炎黄子孙,都是龙人传人
2 中国人
3 中国人民
8 中国是个伟大的国家
1 中国
6 我的心中有人姑娘
7 人民网
5 日本人
(所影响的行数为 8 行)
*/
如果要实现匹配度排序,那么可以去掉 WHERE ... LIKE那句,多余
如果只想实现模糊的匹配,那么可以不需要连表,直接
SELECT ID,VALUE FROM tb WHERE VALUE LIKE '%[中国人]%' 即可.
按词匹配.
create function f_splitIDX(@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(id int identity(1,1),v varchar(100))
begin
declare @i int
set @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)
while @i>=1
begin
insert @temp values(left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
set @i=charindex(@StrSeprate,@SourceSql)
end
if @SourceSql<>'\'
insert @temp values(@SourceSql)
return
end
CREATE TABLE tb (ID INT IDENTITY(1,1),VALUE VARCHAR(100))
INSERT tb SELECT '中国'
UNION ALL SELECT '中国人,中国'
UNION ALL SELECT '中国,中国人'
UNION ALL SELECT '中国人民'
UNION ALL SELECT '中国'
UNION ALL SELECT '日本'
UNION ALL SELECT '日本人'
UNION ALL SELECT '我的心中有人姑娘'
UNION ALL SELECT '人民网'
UNION ALL SELECT '中国是个伟大的国家'
UNION ALL SELECT '我们都是中国人,都是炎黄子孙,都是龙人传人'
DECLARE @searchSTR VARCHAR(20)
SET @searchSTR='中国人 中国'
SELECT a.ID,VALUE FROM tb a
INNER JOIN dbo.f_splitIDX(@searchSTR,' ') b
ON CHARINDEX(v,VALUE)>0
GROUP BY a.ID,Value
ORDER BY COUNT(DISTINCT v) DESC,MIN(b.id),a.id
DROP TABLE tb
发表评论
-
SQL匹配度查询
2017-07-18 15:46 1852SELECT (IF(LOCATE('RK', SJXBSF ... -
MariaDB导出导入命令
2017-02-07 09:44 2123导出: mysqldump -h127.0.0.1 -P3 ... -
MySQL 5.7 使用原生JSON类型的例子
2016-12-17 18:13 1397首先回顾一下JSON的语法规则: 数据在键值对中, 数据 ... -
MySQL5.7 配置说明Windows
2016-12-17 18:12 571一、配置文件my.ini的位置 隐藏文件夹:C:\Prog ... -
Oracle建立表空间和用户
2016-06-24 11:30 556Oracle建立表空间和用户 ... -
oracle数据库导入导出命令
2016-06-24 11:01 733Oracle数据导入导出imp ... -
oracle记录
2014-02-21 17:27 87037 oracle记录 create tab ... -
sql优化 mysql优化 检索效率注意20项
2012-07-03 11:19 21331、通配符尽量避免2 ... -
Mysql索引优化
2012-07-02 13:38 1123为什么使用索引 提高查询效率 降低数据排序成分 - - ... -
mysql与mssql的区别
2012-07-02 11:01 2041对于程序开发人员而言 ... -
SQL字符串处理函数大全
2012-04-19 09:36 978select语句中只能使用sql函数对字段进行操作(链接s ... -
Mysql中创建用户帐户的方法
2011-11-16 00:06 11781.CREATE USER CREATE USER ... -
Linux下安装MYSQL 5.0 应该对mysql进行必要设置
2011-11-06 10:52 12581、下载MySQL的安装文件 安 ... -
mysql数据库自动备份与恢复
2011-11-07 12:07 1385创建目录/home/zf/mysqlBack/#添加以下 ... -
mysql基本命令总结
2011-11-07 12:08 1113数据库asb 表yg 一.mysql的常用命 ... -
MySQL中show 句法得到表列及整个库的详细信息(精品珍藏)
2011-11-07 12:08 1056show databases;show tables ... -
MSSQL服务器/数据库角色说明
2011-11-08 08:07 1477七种常用固定服务器角色 系统管理员:拥有SQL SE ... -
MYSQL设置远程用户连接
2011-11-15 08:48 953011年05月21日 星期六 13时25分16秒MySQL安装 ... -
MySQL 用户权限分配 Grant 语法详解
2011-11-16 00:07 2419MySQL 赋予用户权限命令的简单格式可概括为: g ... -
SQL LIKE 通配符的用法
2011-11-18 10:01 1735_ 与任意单字符匹配 % 与包含一个或多个 ...
相关推荐
### SQL模糊查询并按匹配度排序 在数据库查询操作中,模糊查询是非常常见的一种需求,尤其是在需要处理大量数据且查询条件不确定的情况下。本篇文章将基于提供的SQL查询语句,详细介绍如何进行SQL模糊查询以及如何...
本示例中,我们将探讨如何实现一个按关键词模糊查询,并根据匹配度进行排序的SQL语句。 首先,创建了一个名为`TB`的表,用于存储数据,其结构如下: ```sql CREATE TABLE tb ( ID INT IDENTITY(1,1), VALUE ...
在模糊查询中,我们需要在MyBatis的Mapper XML文件或者Mapper接口中编写SQL语句,利用动态SQL来实现模糊匹配。 4. **动态SQL**:MyBatis的动态SQL功能允许我们在XML映射文件中编写条件语句,如`<if>`、`<choose>`、...
`:根据条件查询表中的前N条记录,并按指定字段降序排序。 5. **使用IN进行多值匹配** - `SELECT * FROM 表名 WHERE 字段名 IN ('值1', '值2', '值3');`:匹配字段中属于给定值列表的行。 6. **使用BETWEEN进行...
4.2 设计思想:在FoxPro中,SELECT-SQL语句配合LIKE关键字可以实现模糊查询。LIKE关键字允许使用通配符,与标准SQL类似。 4.3 使用举例:例如,`SELECT * FROM Customers WHERE Name LIKE 'John%'` 会返回所有名字以...
当一个SQL语句提交给数据库服务器时,服务器首先会进行整体的语法分析,检查语句的结构是否正确,接着优化SQL语句的执行计划,然后编译并执行。在语法分析阶段,服务器会验证命令、关键字、表名和字段名的正确性。 ...
在对应的XML配置文件中,编写一个带有LIKE关键字的SQL语句,使用通配符%来实现模糊匹配。 分页查询也是大型系统必备的功能,它可以提高用户体验并减轻服务器负载。在SSM中,可以使用PageHelper或者Mybatis-Plus这样...
4. **执行查询**:使用JDBC(Java Database Connectivity)API连接数据库并执行SQL语句。需要先加载数据库驱动,建立连接,然后创建Statement或PreparedStatement对象,设置参数并执行查询。 5. **处理结果**:查询...
以上练习题覆盖了SQL中的各种核心概念和技术,包括子查询、连接(JOIN)、聚合函数(如COUNT、SUM)、条件语句(如IN、ANY、ALL)等。这些练习有助于加深对SQL的理解,并提高解决实际问题的能力。
而LIKE匹配符则用于实现模糊匹配,其通配字符包括:%匹配任意类型和长度的字符,下划线_匹配单个任意字符,方括号[]则指定一个字符、字符串或范围,要求匹配的对象为其中之一。 SQL提供了多种内置函数,用于统计...
通过构建实际的数据库环境,尝试各种SQL语句的编写和执行,可以帮助加深对SQL的理解和熟练度。此外,参考各类SQL教程和文档,参与在线课程和社区讨论,也是提升SQL技能的有效途径。 总之,SQL作为数据库领域不可或...
SQL(Structured Query Language)作为数据库管理的核心语言,其查询语句的掌握程度直接影响着数据处理的效率与精确度。从简单的Transact-SQL查询出发,我们深入探讨其高级应用,以期更高效地操作数据库。 ##### ...
- **查询优化**:`LIKE`关键字用于模糊查询,`ORDER BY`用于排序,聚合函数如`COUNT`, `SUM`, `AVG`, `MAX`, `MIN`用于统计分析。 #### 高级查询技术 - **UNION, EXCEPT, INTERSECT** - `UNION`:合并多个查询...
下面将逐一解析这13个SQL语句所涉及的重要概念和技术。 ### 1. 查询所有学生在某一课程中成绩高于另一门课程成绩的学生信息 此查询使用了子查询与比较操作,通过对比不同课程的成绩,找出特定课程中表现优异的学生...
在Java Web开发中,模糊查询是一项常见的功能,它允许用户输入部分关键词,系统根据这些关键词在数据库中查找匹配的商品。这种技术广泛应用于电子商务网站,帮助用户快速找到他们想要的商品。本教程将围绕“javaweb...
例如,要同时显示"90分以上学生情况"和"学生选课成绩"中80分以下的所有记录,可能需要编写复杂的SQL语句来实现这种多条件的筛选。 2. SQL视图: 在Access中,可以通过“设计”视图创建查询,但更复杂的操作需要在...
SQL Server数据库查询的最大特点在于其便捷性,几乎所有数据库操作都是基于查询来实现的,因此提高查询的效率对于维护数据库数据至关重要。T-SQL查询语句通常包括以下几个主要方面: 1. 投影(Projection):在T-...
3. **关键词高亮**:突出显示SQL语句中的关键字,如SELECT、FROM、WHERE等,提高代码的视觉效果。 4. **注释处理**:可以统一处理多行或单行注释,使其在代码中更加醒目。 5. **排序与整合**:自动对表名和列名进行...