是否可以使用"WHERE"子句来选择SQL语句中的所有记录?

薛源少*_*薛源少 1 java mysql sql sql-server

晚上好,我很好奇是否可以在一个可以显示所有记录的SQL语句中创建一个WHERE子句?

下面是一些解释:

随机SQL语句(Java) - (JSP示例),正常情况

String SqlStatement = "SELECT * FROM table_example WHERE First_Col = '<%=passVar%>' ";
db.query(SqlStatement );
//........
//........
Run Code Online (Sandbox Code Playgroud)

如果passVar是'ALL' 怎么,我们需要在passVar = All 时提示所有记录?我知道我可以用if-else来做,并检查passVar是否为"ALL"然后查询without-WHERE语句以使其工作..

**without-WHERE statement (Java)-(JSP example)**
Run Code Online (Sandbox Code Playgroud)
if(<%=passVar%> == "ALL") {
   SqlStatement = "SELECT * FROM table_example";
} else {

   SqlStatement = "SELECT * FROM table_example WHERE First_Col = '<%=passVar%>' ";
}
Run Code Online (Sandbox Code Playgroud)

但我可以只编写一个SQL语句来提示所有记录吗?如下所示:

(Java) - (JSP示例)

String ShowAll = "";
if(<%=passVar%> == "ALL") {
    ShowAll = *;

} else {
    ShowAll = <%=passVar%>;
}
SqlStatement = "SELECT * FROM table_example WHERE First_Col = ShowAll ";
Run Code Online (Sandbox Code Playgroud)

Sas*_*ant 9

试试 WHERE 1=1::

Select * from myTable  WHERE 1=1
Run Code Online (Sandbox Code Playgroud)


Pra*_*mha 4

这也有效:

WHERE columnname LIKE '%'
Run Code Online (Sandbox Code Playgroud)

NULL 值除外。