SQL 中 NOT IN 查询不到数据】的更多相关文章

在开发的过程中,遇到过not in 始终查询不到数据问题 select * from T_CustomerInfo where CustomerID not in (select CustomerID from T_OrderInfo) 后来使用not exists查询 select * from T_CustomerInfo a where not exists (select CustomerID from T_OrderInfo where CustomerID=a.CustomerID)…
一.问题 用以下sql语句查询数据,结果为空 SELECT a.ID , a.Sub_Project_Name , a.Sub_Project_Type FROM TB_KYSubProject a WHERE a.ID NOT IN ( SELECT DISTINCT c.SubprojectID FROM TB_KYGrogramme c WHERE ISNULL(c.Belong_Programme, '') <> '' AND c.Belong_Programme IN ( SELEC…
下面这篇中,已经有准备一些数据: <MS SQL server对象类型type>https://www.cnblogs.com/insus/p/10903916.html 为前端服务,直接在SQL把查询结果转换为JSON格式数据: 实现这样的功能,可以使用SQL的FOR JSON PATH: SELECT [type],[desc] FROM #type FOR JSON PATH GO Source Code 给查询语句加上条件和FOR JSON PATH加上ROOT标记. SELECT […
最近在做项目的时候需要使用到模糊查询,但是后台使用EF写的 而不是ADO或者是Dapper,如果是这样的话,我们就可以使用Sql语句直接进行模糊查询 现在我们需要在LINQ中使用类似于模糊查询 在EF中有两个方法:StartsWith()和EndWith() StartsWith(): 在转到定义时 我们可以看见,这个方法是匹配字符串的开头是否与指定的字符串匹配,匹配返回true否则就是false 类似于SQL: like 'xxxx%' EntWith: 这个方法匹配是的此字符串的结尾是否与指…
SQL中insert一次可以插入一条数据,我们有三种方法可以一次性插入多条数据. 1. 语法:select 字段列表 into 新表 from 源表 注意事项:此种方法新表是系统自动创建,语句执行前不可以存在新表,并且新表只能保留源表的标识列特性,其他约束不能保留. 若只需要源表的数据结构,我们可以在语句中添加(top 0) 2. 语法:insert into 目的表 select 字段列表 from 源表 注意事项:此种方法目的表必须在语句执行前存在,并且每一列要与源表对应. 在此处还有一些有…
目录 WHERE子查询 HAVING子查询 FROM子查询 SELECT子查询 EXISIT子查询 查询薪资排名的员工信息(面试) z子查询就是将一个查询(子查询)的结果作为另一个查询(主查询)的数据来源或判断条件的查询.常见的子查询有WHERE子查询,HAVING子查询,FROM子查询,SELECT子查询,EXISTS子查询,子查询要使用小括号(): WHERE子查询 在WHERE子句中进行使用查询 SELECT * FROM EMP WHERE SAL < (SELECT AVG(SAL)…
界面: 代码 0 posted @ 2009-12-15 13:28 唔愛吃蘋果 阅读(8640) 评论(0)  编辑 收藏…
关于SQL的应用,肯定离不开查询,而相对复杂的查询,总是离不开对表的连接,单个表操作的并不罕见,但是在应用环境大多数的查询都是针对2.3个表甚至更多的表7,至于连接,有内连接.外链接.交叉连接之分,每种连接方式都有各自的查询关键字去执行.此时犹记学时对这些概念含糊不分,不知所谓,总是认为课本的知识玄幻深奥,概念晦涩难懂,当然我也时常归咎于是本校师生随手“复印”的教材. 一. 内连接(通过关联信息匹配数据) 1.等值连接(=,有重复)  2.不等值连接(不等式.大小于)   3.自然连接(=,无重…
执行数据库查询时,有完整查询和模糊查询之分.一般模糊语句如下:SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式:1.%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请运用两个百分号(%%)表示.比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'将会把u_name为"张三","张猫三"."三脚猫","唐三藏&…
连接查询是SQL的主要任务,只有很好的掌握了连接查询及其优化方法才算是掌握了SQL的精髓所在.最近在面试中遇到了有关连接查询的问题,感觉回答的不是很好,总结一下. 具体示例请参考:http://www.w3school.com.cn/sql/sql_join.asp 总结: 连接查询原理与代码优化:假如要对table1和table2两个表进行连接查询,则DBMS首先会在table1中找到第一个元组,然后从头开始扫描table2表,逐一查找与table1第一个元组相对应的table2的元组,找到后…
如果数据表没有做好约束,那么数据库中难免会遇到数据重复的情况.今天就遇到这么个看起来简单却又费神的问题---如何去重. ------期间感谢微信公众号"有关SQL"的博主大牛提供的指导和建议.大家可以关注下他的公众号. 借鉴下大神的思路,去除重复的核心思想就两个: 1:找到重复记录,删除他们: 2:找到非重复记录,保留他们 两个思想,操作方式不同,取决于重复记录与非重复记录的行数倾斜度. 情况一:数据表本身数据量不大的情况,如何去除重复 一:创建测试表 )) 二:插入数据 INSERT…
偶然在网上看到一篇文章,讲到数据汇总,提到了CUBE,感觉有些晦涩,想试着自己表述一下.同时,个人也认为CUBE还是很有用的,对SQL或数据分析感兴趣的小伙伴不妨了解一下,或许有用呢! 先设定个需求,想要分别按[性别].[籍贯].[年龄]或[成绩级别]统计下表中学生的数量,再进一步,需要将这些条件相结合统计,同时满足某两项或更多条件的学生数量.数据表格如下: 我们可以逐层来理解[GROUP BY][WITH ROLLUP][WITH CUBE]如何来完成数据汇总 第一层:[GROUP BY] […
一,我们正常使用like时,这是有两个条件的模糊查询 select *From Test where UserName like '%m%' and UserName like '%a%' 二,但这时我在代码中如果只传一个条件是,另一个条件为空是造成的结果是什么呢? select *From Test where UserName like '%m%' and UserName like '%%' 这里的结果是like '%%'默认为查询所有,所以只会将符合like '%m%'的条件数据查询出来…
目录 1. DQL:查询语句 排序查询 聚合函数 分组查询 分页查询 2. 约束 3. 多表之间的关系 4. 范式 DQL:查询语句 1. 排序查询 语法:order by 子句 order by 排序字段1 排序方式1 , 排序字段2 排序方式2... 排序方式: ASC:升序,默认的. DESC:降序. SELECT * FROM aniki ORDER BY age DESC, insert_time ASC; 注意:如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件. 2. 聚…
今天的所有数据: 昨天的所有数据: 7天内的所有数据: 30天内的所有数据: 本月的所有数据: 本年的所有数据: 查询今天是今年的第几天: select datepart(dayofyear,getDate()) 查询今天是本月的第几天:. select datepart(dd, getDate()) .select day(getDate()) 查询本周的星期一日期是多少 (注意:指定日期不能是周日,如果是周日会计算到下周一去.所以如果是周日要减一天) ,) 查询昨天日期:,) ) 查询本月第…
在windows中创 建一个名为“NLS_LANG”的系统环境变量,设置其值为"AMERICAN_AMERICA.ZHS16GBK",   NLS_LANG的值为:select userenv('language') from dual;查询的结果:…
因为对数据库的内容早都忘得差不多了,所以我的第一感觉是: select Person.FirstName, Person.LastName, Address.City from Person, Address where Person.PersonId=Address.PersonId 结果出错了: 因为至少这个人是存在的,只是没有她的地址,你不至于搜不到吧, 但是我这种写法是引用两个表,从两个表中获取数据,就是找两者相同的情况下的结果. 使用join 可以连接两个表: join: 如果表中有一…
我想实现类似如下sql语句的效果: select * from table1 where rw_id in ('7a482589-e52e-0887-4dd5-5821aab77eea','c68ace46-1c07-fccf-1cb6-57d4e77e40a2','3c9263d2-c44b-a9fd-155e-57aaf783ed58','69b087df-eb62-3e70-2cc0-582ec84a561b') 相应的ES查询应该写为: $v 即为 rw_id的集合,GET /_sear…
方法一:使用在T-SQL的编程中 分配一个列号码,以COL1,COL2组合来分区排序,删除DATABASE重复的行(重复数据),只保留一行 // COL1,COL2是数据库DATABASE的栏位 delete a from (select COL1,COL2,row_number() over (partition by COL1,COL2 order by COL1) as rn from DATABASE) a where a.rn>1 方法二:使用在ETL中 select distant…
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户. 在使用left jion时,on和where条件的区别如下: 1. on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录. 2.where条件是在临时表生成好后,再对临时表进行过滤的条件.这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉. 假设有两张表: 表1:tab2 id size 1 10 2 20 3 30 表2:t…
写个标题先.先来一篇大神的文章:http://www.cnblogs.com/GT_Andy/archive/2009/12/25/1921914.html 练习代码如下: 1.百分号:%   表示任意0个或多个字符.可匹配任意类型和长度的字符.练习如下: 2.下划线:_  匹配任意单个字符: 3.中括号:[]  表示括号内所列字符中的一个.指定一个字符.字符串或范围,要求所匹配对象为它们中的任一个. 4.[^]:表示不在括号所列之内的单个字符.…
  在CSDN找到了相同的问题描述和解决方法: 问题: 我的表某个字段是Datetime型 以" YYYY-MM-DD 00:00:00" 存放 如 A 2009-01-22 21:22:22 B 2009-01-22 19:21:11 C 2009-01-22 23:10:22 现在用 select * from TABLE where date between '2009-1-22' And '2009-1-22' 想查日期为2009-1-22的记录 结果查不到 有什么办法吗 解决…
list = list.Where(i => i.Name.Contains(empName)).ToList();…
数据表结构和数据如下: CREATE TABLE `commun_message_chat_single` ( `id` ) NOT NULL AUTO_INCREMENT, `chat_id` ) DEFAULT ' COMMENT '会话id', `from_id` varchar() DEFAULT NULL COMMENT '发送者 用户id', `to_id` varchar() DEFAULT NULL COMMENT '接收者 用户id', `content` text COMME…
1.instr函数 instr函数是一个字符串处理函数,它在Oracle/PLSQL中是返回子字符串在源字符串中的位置,如果在源串中没有找到子串,则返回0. instr函数定义如下: /* * 返回子字符串在源字符串中的位置(字符串位置从1开始,而不是从0开始) * @param str 源字符串 * @param substr 子字符串 * @param position 检索位置,可省略(默认为1),参数为正时,从左向右检索,参数为负时,从右向左检索 * @param occurrence…
建表sql CREATE TABLE `tbl_demo` ( `id` ) COLLATE utf8_bin NOT NULL, `payer_name` ) COLLATE utf8_bin DEFAULT NULL, `amount` ) DEFAULT NULL, `value_day` date DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin 需求    =======> 将图一的数据库中数据按图二规…
今天下午做的一个功能,要用到模糊查询,字段是description,刚开始我的写法用的是sql中的模糊查询语句, 但是这个有问题,只有将字段的全部值传入其中,才能查询,所以不是迷糊查询. 后来经过搜索,发现要加上一个concat字段,要先将字符串拼接后,才能实现模糊查询. 改成这个样子后,模糊查询功能实现. 在我搜索到的博客中海油别的几种写法,但是试验了两个,有一个成功,另外一个没能实现模糊查询,但是目前还不知道错误在哪里.如果有人知道,请赐教. 他的博客地址是:http://blog.sina…
连接查询:     交叉连接:   交叉连接返回的结果是被连接的两个表中所有数据行的笛卡尔积,也就是返回第一个表中符合查询条件的数据航数乘以第二个表中符合,查询条件的数据行数,例如department表中有4个部门,employee表中有4个员工,那么交叉连接的结果就有4 * 4 = 16条数据 SELECT * FROM 表1 CROSS JOIN 表2; SELECT * FROM 表1,表2; 从上述描述情况可以看出,交叉连接的结果就是两个表中所有数据的组合.需要注意的是,在实际开发中这种…
sql中的连接查询有inner join(内连接).left join(左连接).right join(右连接).full join(全连接)四种方式,它们之间其实并没有太大区别,仅仅是查询出来的结果有所不同. 例如我们有两张表:  Orders表通过外键Id_P和Persons表进行关联. 1.inner join,在两张表进行连接查询时,只保留两张表中完全匹配的结果集. 我们使用inner join对两张表进行连接查询,sql如下: SELECT Persons.LastName, Pers…