望谟网站建设,网站开发的标准,国外优秀企业网站模板,百度做网站按点击量收费吗where 11; 这个条件始终为True#xff0c;在不定数量查询条件情况下#xff0c;11可以很方便的规范语句。 一、不用where 11 在多条件查询中的困扰 举个例子#xff0c;如果您做查询页面#xff0c;并且#xff0c;可查询的选项有多个#xff0c;同时#xff0c;还让用户… where 11; 这个条件始终为True在不定数量查询条件情况下11可以很方便的规范语句。 一、不用where 11 在多条件查询中的困扰 举个例子如果您做查询页面并且可查询的选项有多个同时还让用户自行选择并输入查询关键词那么按平时的查询语句的动态构造代码大体如下 string MySqlStr”select * from table where”if(Age.Text.Lenght0){MySqlStrMySqlStr“Age““Age.Text“}if(Address.Text.Lenght0){MySqlStrMySqlStr“and Address““Address.Text“} ①种假设 如果上述的两个IF判断语句均为True即用户都输入了查询词那么最终的MySqlStr动态构造语句变为 MySqlStr”select * from table where Age18 and Address云南省文山州广南县小波吗村” 可以看得出来这是一条完整的正确的SQL查询语句能够正确的被执行并根据数据库是否存在记录返回数据。 ②种假设 如果上述的两个IF判断语句不成立那么最终的MySqlStr动态构造语句变为 MySqlStr”select * from table where“ 现在我们来看一下这条语句由于where关键词后面需要使用条件但是这条语句根本就不存在条件所以该语句就是一条错误的语句肯定不能被执行不仅报错同时还不会查询到任何数据。 上述的两种假设代表了现实的应用说明语句的构造存在问题不足以应付灵活多变的查询条件。 二、使用 where 11 的好处 假如我们将上述的语句改为 string MySqlStr”select * from table where 11 ”if(Age.Text.Lenght0){MySqlStrMySqlStr“and Age““Age.Text“}if(Address.Text.Lenght0){MySqlStrMySqlStr“and Address““Address.Text“} 现在也存在两种假设 ①种假设 如果两个IF都成立那么语句变为 MySqlStr”select * from table where 11 and Age18 and Address云南省文山州广南县小波吗村”很明显该语句是一条正确的语句能够正确执行如果数据库有记录肯定会被查询到。 ②种假设 如果两个IF都不成立那么语句变为 MySqlStr”select * from table where 11”现在我们来看这条语句由于where 11 是为True的语句因此该条语句语法正确能够被正确执行它的作用相当于MySqlStr”select * from table”即返回表中所有数据。 言下之意就是如果用户在多条件查询页面中不选择任何字段、不输入任何关键词那么必将返回表中所有数据如果用户在页面中选择了部分字段并且输入了部分查询关键词那么就按用户设置的条件进行查询。 说到这里不知道您是否已明白其实where 11的应用不是什么高级的应用也不是所谓的智能化的构造仅仅只是为了满足多条件查询页面中不确定的各种因素而采用的一种构造一条正确能运行的动态SQL语句的一种方法。 where 10; 这个条件始终为false结果不会返回任何数据只有表结构可用于快速建表 SELECT * FROM strName WHERE 1 0; 该select语句主要用于读取表的结构而不考虑表中的数据这样节省了内存因为可以不用保存结果集。 create table newtable as select * from oldtable where 10; 创建一个新表而新表的结构与查询的表的结构是一样的。 转载于:https://www.cnblogs.com/owenyang/archive/2012/11/15/3579088.html