mysql - SQL查询问题

标签 mysql

我有 2 个这样的表 Project 和 ProjectList

项目

ProjectID
Name
ProjectListID - allow null

在项目列表中

ProjectListID
ProjName

现在我在这里需要的是,我只想要那些从 ProjectList 表中重新编码的 ProjectListID 不在 Project 表中的内容。 我进行了查询,但执行起来花费了很多时间。

select * FROM projectslist pl where pl.ProjectsListID not in (SELECT p.ProjectsListID FROM project p where (p.ProjectsListID is not null and p.ProjectsListID <>0))

请帮助我创建优化查询。我正在使用我的 SQL。

最佳答案

ProjectList.ProjectListID 不允许为 null 对吧?

那么您应该尝试使用 LEFT JOINS 进行比较:

SELECT * FROM ProjectList pl LEFT JOIN Project p ON pl.ProjectListID = p.ProjectListID
WHERE pl.ProjectListID is null

关于mysql - SQL查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2903477/

相关文章:

C# MySQL连接多个select语句

mysql - 根据 SQL 和 hibernate 映射中另一个表中引用行到我的表的 count() 设置列的值

mysql - sql COUNT 出现问题

mysql - phpMyAdmin 抛出 #2002 无法登录 mysql 服务器 phpmyadmin

mysql - 按任一列分组

php - 如何调用validation.php中编写的函数并将所有函数名称存储在数据库中

MySQL 获取其余值

php - 如何使用 php 降低图像质量/图像大小,我们尝试过但无法解决?

mysql - 检查一行中的不同值 - sql

php - 如何显示多个搜索结果