`
王之子
  • 浏览: 109417 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

多条件查询用到的SQL

阅读更多

    在做Web开发的时候,经常会遇到这样的情形。那就是多条件查询。对很多PHP初学者都感到很棘手。

    举个简单例子来说,我们有个user的用户表。用户可以在界面上输入姓名、性别、年龄来搜索用户信息。

id name sex age
1 小林 18
2 小亮 17


    我们在后台该怎么处理呢?


<?php
$name = $_POST['name'];
$sex = $_POST['sex'];
$age = $_POST['age'];
$sql = $name ? "SET @name = '$name'":"SET @name = NULL";
mysql_query($sql);
$sql = $sex ? "SET @sex = '$sex'":"SET @sex = NULL";
mysql_query($sql);
$sql = $age ? "SET @age = '$age'":"SET @age = NULL";
$sql = "SELECT * FROM user WHERE `name`=(CASE WHEN @name IS NULL THEN name ELSE @name END) 
AND `sex`=(CASE WHEN @sex IS NULL THEN sex ELSE @sex END) AND 
`age`=(CASE WHEN @age IS NULL THEN age ELSE @age END)";
$result = mysql_query($sql);
while($item = mysql_fetch_array($result)) {
//……
}
?>  

   是不是很简单呢?SQL的case语句是处理多查询的极好方法。

分享到:
评论

相关推荐

    java配合MyBatis 多条件查询及动态SQL

    MyBatis 多条件查询及动态SQL 粉丝可见 ybb_ymm 已于 2023-02-02 11:09:17 修改 642 收藏 3 分类专栏: java 文章标签: mybatis sql mysql 编辑 版权 java 专栏收录该内容 104 篇文章2 订阅 背景 MyBatis是一...

    VB6.0编程实现SQL数据任意条件查询

    在VB6.0中,利用SQL进行数据的任意条件查询是一项基本且重要的技能。VB6.0(Visual Basic 6.0)是Microsoft推出的一种面向对象的编程环境,它允许开发者通过编写代码来与数据库进行交互,实现各种复杂的业务逻辑。...

    测试中需要用到的sql语句

    在软件测试过程中,SQL(Structured Query Language)语句扮演着至关重要的角色,它是一种用于管理和处理关系数据库的标准语言。对于测试新人来说,掌握基本的SQL操作是必要的技能,因为这将帮助他们有效地验证数据...

    经典的SQL查询语句,将内容作为字段查询

    查询这类数据时,可能需要用到`SELECT image_column FROM table_name WHERE ...`,然后在应用程序中处理这些二进制数据。 5. JOIN操作:当需要从多个表中获取信息时,JOIN语句就显得尤为重要。例如,`INNER JOIN`、...

    SQL多表查询

    ### SQL多表查询知识点详解 #### 一、基础知识回顾 在数据库操作中,经常会遇到需要从多个表中获取数据的情况,这时就需要用到SQL的多表查询技术。多表查询是指在一个查询语句中涉及两个或两个以上的表,并且通过...

    易语言源码多表多条件查询的例程.rar

    在多条件查询中,可能会用到`SELECT`、`FROM`、`WHERE`等SQL关键字,构建复杂的查询语句。 4. **游标技术**:在处理大量数据时,易语言可能会使用游标来逐条处理查询结果。游标允许程序按需读取数据,而不是一次性...

    工作日志管理系统,用到表格修改查询和SQL

    为了进一步提升用户体验,我们可以实现一些额外的功能,比如搜索和过滤功能,让用户能够根据关键词或特定条件查找他们关心的工作日志条目。还可以增加日历视图,以日期为维度查看和管理日志,或者提供报告和统计功能...

    Microsoft_SQL_Server_2005技术内幕:T-SQL查询.pdf

    它详细介绍了T-SQL的内部体系结构,包含了非常全面的编程参考,提供了使用Transact-SQL(T-SQL)的专家级指导,囊括了非常全面的编程参考,揭示了基于集合的查询的强大威力,并包含大量来自专家们的参考和建议。...

    SQL Server数据库查询速度慢原因及优化方法

    【赛迪网-IT技术报道】SQL Server数据库查询速度慢的原因有很多,常见的有以下几种:  1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)  2、I/O吞吐量小,形成了瓶颈效应。  3、没有...

    sql查询某个parentid下的所有childid

    - **添加过滤条件**:可以通过WHERE子句添加更多的过滤条件,例如只查询某一层级的记录。 - **自定义显示列**:在SELECT子句中选择需要显示的列,可以根据实际需求定制输出格式。 - **使用其他函数**:结合其他...

    结构化查询语言SQL快速入门

    创建新的数据库表格则需要用到Create table语句,它定义了表格的结构,包括列名、数据类型以及可能的约束条件。例如,`CREATE TABLE tablename (column1 datatype, column2 datatype, column3 datatype)`。在创建...

    SQL Server精华查询语句

    虽然示例中没有直接使用,但动态SQL是SQL Server中一种强大的工具,允许在运行时构建和执行SQL语句,这在处理变化的查询条件或构建复杂的多步骤查询时非常有用。 10. **自连接**: 自连接是表自身的一种连接,...

    PB-SQL 数据库查询

    2. **SQL查询语句**:PB-SQL中,我们可能需要用到SELECT、INSERT、UPDATE、DELETE等基本SQL语句。例如,SELECT语句用于查询书籍信息,INSERT用于添加新书籍,UPDATE用于修改书籍详情,DELETE用于删除不再需要的书籍...

    精通SQL--结构化查询语言详解

    10.1.1 在多表查询中使用子查询 187 10.1.2 在子查询中使用聚合函数 188 10.2 创建和使用返回多行的子查询 190 10.2.1 in子查询 190 10.2.2 in子查询实现集合交和集合差运算 191 10.2.3 exists子查询 192 ...

    MFC编写的图书管理系统,用到数据库SQL

    此外,还可以使用JOIN操作连接多个表,GROUP BY进行分组,HAVING和WHERE配合实现复杂条件筛选,ORDER BY进行排序等。 在实际开发中,为了提高用户体验,我们还需要处理错误,优化查询性能,以及设计良好的数据模型...

    如何设计高效合理的SQL查询语句

    - **在条件表达式中经常用到的不同值较多的列上建立索引**。如果某个列的不同值较少(如性别列),建立索引反而会降低更新速度。 - **对于多列排序的情况**,可以在这几列上建立复合索引。 - **定期检查和维护索引**...

    T-SQL高级查询

    排序在很多地方需要用到,需要对查询结果进行排序并且给出序号。比如: 1、 对某张表进行排序,序号需要递增不重复的 2、 对学生的成绩进行排序,得出名次,名次可以并列,但名次的序号是连续递增的 3、 在...

    数据库实验报告SQL 数据查询(详细版有截图的)

    条件查询则涉及到特定条件下的筛选,如查询特定课程的学生信息,按分数条件筛选学生,组合多个条件进行复杂查询,如查询同时满足特定课程和分数条件的学生。此外,还包含了对性别和年龄的逻辑判断,以及利用通配符 `...

    mysql 查询存储过程的 sql 语句.docx

    它们不仅可以简化复杂的 SQL 查询,还可以通过使用变量、循环和条件语句来实现更复杂的逻辑。这不仅提高了代码的复用性和维护性,还能显著提高开发效率。 在实际应用中,合理利用存储过程可以帮助开发者更好地管理...

    GridView的过滤条件转成各个数据库Sql条件语句Demo

    关于DevExpress的GridView的过滤条件如何转成相应的语句,dev官网提供了相应的处理方法,方便开发人员调用,目前支持数据库语句有MS Sql 、Oracle 、Access,资源用到的Dev版本是18.1,为了保证能运行,相关程序集...

Global site tag (gtag.js) - Google Analytics