mysql中的not like检索问题

问题描述

A表:idtagname1很长很长的字符2无关的字符3非常长的字符 B表:idnavname1长的2短的 我希望找出,A表中的数据没有(模糊)包含B表的:也就是红色那条记录 我第一时间想到这样写:SELECT * from A a where a.tagname not like  (SELECT b.navname from B b)  但是会出错:Subquery returns more than 1 row  求各位指导.

解决方案

select * from A a where not exists (SELECT 1 from B b where locate(b.navname,a.tagname) > 0)应该是这个,不能直接用like的
解决方案二:
用like 好像不恰当。理解,去找出a数据中不包含b的就行了。select * from a a where not exists(select 1 from b b where find_in_set(a.idtagname,b.idtagname));
解决方案三:
select * from A a where exists (select 1 from B b where a.idtagname not like b.idnavname)

时间: 2024-10-24 09:44:24

mysql中的not like检索问题的相关文章

json-从 PHP MySQL 中检索数据然后传到视图列表中

问题描述 从 PHP MySQL 中检索数据然后传到视图列表中 我想从 PHP MySQL 中检索一个数据,然后传到试图列表中.我使用的下面的代码,但是还是没把数据放到 List View 中,如何改这个问题. 贴出我的代码,大家看看是哪儿出错了. Activity Codes public class View extends Activity{ // Progress Dialog // Creating JSON Parser object JSONParser jParser = new

如何实现MySQL中的用户管理

mysql|用户管理 MySQL有一套先进的但非标准的安全/授权系统,掌握其授权机制是开始操作MySQL数据库必须要走的第一步,对于一个熟悉SQL基本操作的人来说,也是MySQL所有的知识中比较难以理解的一个部分.本文通过揭开其授权系统的运作机制,希望大家能够可以更好地操作和使用这个优秀的数据库系统. 本文主要参考了MySQL安装所附的使用手册第六章中的部分内容. 1.授权机制的主要作用是什么? 授权机制的基本作用是给某个主机上的用户对某个数据库以select,insert,update和det

MySQL中修改密码及访问限制设置详解

mysql|访问|详解 MySQL是一个真正的多用户.多线程SQL数据库服务器.MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成.由于其源码的开放性及稳定性,且与网站流行编徎语言PHP的完美结合,现在很多站点都利用其当作后端数据库,使其获得了广泛应用.处于安全方面的考虑,需要为每一用户赋于对不同数据库的访问限制,以满足不同用户的要求.下面就分别讨论,供大家参考. 一.MySQL修改密码方法总结首先要说明一点的是:一般情况下,修改MySQL

MySQL 中修改密码及访问限制设置详解

mysql|访问|详解 MySQL中修改密码及访问限制设置详解 MySQL是一个真正的多用户.多线程SQL数据库服务器.MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成.由于其源码的开放性及稳定性,且与网站流行编?挥镅?PHP的完美结合,现在很多站点都利用其当作后端数据库,使其获得了广泛应用.处于安全方面的考虑,需要为每一用户赋于对不同数据库的访问限制,以满足不同用户的要求.下面就分别讨论,供大家参考. 一.MySQL修改密码方法总结 首

MySQL中MyISAM引擎与InnoDB引擎性能简单测试

[硬件配置] CPU : AMD2500+ (1.8G) 内存: 1G/现代 硬盘: 80G/IDE [软件配置] OS : Windows XP SP2 SE : PHP5.2.1 DB : MySQL5.0.37 Web: IIS6 [MySQL表结构] CREATE TABLE `myisam` ( `id` int(11) NOT NULL auto_increment, `name` varchar(100) default NULL, `content` text, PRIMARY

mysql中alter数据表中增加、删除字段与表名修改例子

 alter是非常强大的一个功能我们可以利用alter来修改数据表表名字体名及一些其它的操作了,下面一起来看看mysql中alter数据表中增加.删除字段与表名修改的一个例子.     修改删除mysql数据库中的数据内容: [root@hk ~]# /usr/local/mysql/bin/mysql -uroot -p'admin' #进入mysql mysql> create database gbk default character set gbk collate gbk_chines

MySQL中select语句介绍及使用示例

数据表都已经创建起来了,我们就可以用自己喜欢的方式对数据表里面的信息进行检索和显示了,下面为大家讲解下MySQL中select语句的应用,感兴趣的碰可以学习下   数据表都已经创建起来了,假设我们已经插入了许多的数据,我们就可以用自己喜欢的方式对数据表里面的信息进行检索和显示了,比如说:可以象下面这样把整个数据表内的内容都显示出来 select * from president; 也可以只选取某一个数据行里的某一个数据列 select birth from president where las

MySql中启用InnoDB数据引擎的方法

1.存储引擎是什么? Mysql中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能.这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型).MySql默认配置了许多不同的存储引擎,可以预先设置或者在MySql服务器中启用. 2.MYSQL支持的数据引擎 MyISAM:默认的MySQL插件式存储引擎,它是

Mysql中limit的用法详解

Mysql中limit的用法:在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数.LIMIT 接受一个或两个数字参数.参数必须是一个整数常量.如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最