添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

select  ID as id, TYPE_CODE as typeCode , TYPE_NAME as typeName ,

PARENT_ID as parentsId , STYLE as style , LEVELS as levels

from type_code

where PARENT_ID = '30119a0e-2f57-473d-9f1d-2843561e9064' and ID not in

( select  PARENT_ID from type_code where PARENT_ID);

结果满足查询的条件为空……

后来发现,子查询中存在字段的某些值为null,所以导致了count=0.

所以,将SQL调整为如下:

select  ID as id, TYPE_CODE as typeCode , TYPE_NAME as typeName ,

PARENT_ID as parentsId , STYLE as style , LEVELS as levels

from type_code

where PARENT_ID = '30119a0e-2f57-473d-9f1d-2843561e9064' and ID not in

( select  PARENT_ID from type_code where PARENT_ID is not null);

这样就能正确的查出结果了!

总结:MySQL中如果要用not in在子查询中限制结果,那必须要将子查询的结果集限制为不含null,不然查询结果count = 0.

Allen

2011-03-29

例2. 查询学生在班的所有班级名字: select name from classes where id in (select cls_id from students where cls_id is not null ); 例3. 查找年龄最大,身高最高的学生: 今天领导让我写一个视图,需要把三张没有任何关联关系的表数据整合到一张视图上,我按照最初的方式先把 SQL 整理出来后,结果 mysql 建视图时报错了:下面是最初的方案,CREATE OR REPLACE VIEW view_systeminfo_detailASSELECTf.filesystemSize,f.used,f.unUsed,c.totalContentInfo,s.totalTask,s2... CREATE or REPLACE VIEW `v_user_adunion_reg` AS select a.name as user_name,b.* from t_users a,t_adunion_result b where SQL : 结构化查询语言,是一门标准通用的语言。标准的 SQL 适合于所有的数据库产品。 SQL 属于高级语言。 SQL 语句在执行的时候,实际上内部也会先进行编译,然后再执行 SQL 。( SQL 语句的编译由DBMS完成) -- 查询数据库结构-1科目所有考试结果(学号 科目名 成绩)降序排列 -- 方式一: 使用 联表查询 SELECT StudentNo, r.SubjectName,SubjectResult FROM result r INNER JOIN `subject` sub ON r.SubjectNo=sub.SubjectNo WHERE subjectName='数据库结构-1' ORDER BY SubjectResult D 例如,查询t_goods_category数据表 的数据,并统计每个商品类别下的商品数量。 mysql > SELECT category.id, category.t_category, -> (SELECT COUNT(*) -> FROM... 文档对象模型(Document Object model,简称DOM)是针对HTML和XML文档的一个API(应用程序编程接口)。 也就是说:DOM是一个接口,一个API,我们可以通过DOM这个接口来对文档进行修改。 DOM会把文档表示为一棵树,这里以(HTML)为例: HTML代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"&gt 报错现象执行 SQL 报错如下:SELECT student.s_no,student.s_name,SUM(result.mark) FROM student,result WHERE student.s_no=result.s_no GROUP BY student.s_no> 1055 - Expression #2 of SELECT list is not in GROUP BY cl... 基本语法: 表达式 [not] in ( 子查询 )语法 ,表达式的最简单形式就是列名或常数 语义:判断某一表达式的值是否在 子查询 的结果 。 示例:列出张三,王二同学的所有信息select * from student where sname in ("张三","王二")上述示例相当于select * from student where sname = "张三" or sname = "王二" LEFT JOIN BD_CONTRACT_BUSINESSMAN B on B.S_CONTRACT_ID = (select 1 from EF_ARAP where BILL_ID = (select org_id from BD_ORG where org_id=(select or 思路①: 左连接判断右表为 null SELECT * FROM men m LEFT JOIN person p ON m.name = p.name WHERE p.name IS NULL ; 思路②: where 条件 刷选出不存在的... 子查询 允许把一个查询嵌套在另一个查询当 子查询 ,又叫内部查询,相对于内部查询,包含内部查询的就称为外部查询。 子查询 可以包含普通select可以包括的任何子句,比如:distinct、 group by、order by、limit、join和union等;但是对应的外部查询必须是以下语句之一:select、insert、update、delete、set或 者do。 MySQL 只能通过别名引用所定义的 子查询 字段 不能 通过别名引用整个 子查询 如下列 SQL ,不行,会报错,t2不存在 select Student.Sname, t2.SId, t2.avgsc Student, (select t1.SId SId,avg(t1.score) avgsc from (select SId, score from SC where score < 60) t1 group by t1.SId) t2 where Student