选择查询优化

发布于 2024-09-18 16:21:43 字数 388 浏览 5 评论 0原文

我有一个选择查询,它根据条件获取记录

Select * from Employee where EmpStatus=#EmpStatus#

每个员工的数据库中的 EmpStatus 要么是 0 要么 1。

EmpID EmpName EmpStatus
***********************
1     Name1   0
2     Name2   0
3     Name4   1
4     Name5   1

当我将 EmpStatus 作为 1 传递时,我应该得到仅包含 3 和 4 的列表。但是如果我将 EmpStatus 作为 0 传递,应获取所有 4 条记录。如何通过单个最佳选择查询来完成此操作?

I have select query that fetch record based on a condition

Select * from Employee where EmpStatus=#EmpStatus#

The EmpStatus in the DB for each employee would either 0 or 1.

EmpID EmpName EmpStatus
***********************
1     Name1   0
2     Name2   0
3     Name4   1
4     Name5   1

When I pass EmpStatus as 1, I should get list containing ONLY 3 and 4. But if i pass EmpStatus as 0, ALL the 4 records should be fetched. How can this be done with a single optimal select query?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终难愈 2024-09-25 16:21:43

您可以将 = 更改为 >=:

SELECT col1, col2 -- etc...
FROM Employee
WHERE EmpStatus >= #EmpStatus#

对于性能而言,最重要的是添加适当的索引。

You could change = to >=:

SELECT col1, col2 -- etc...
FROM Employee
WHERE EmpStatus >= #EmpStatus#

The most important thing for performance is to add an appropriate index.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文