찾다
백엔드 개발PHP 튜토리얼SQL 다중 조건 쿼리

다중 조건 쿼리를 구현하려면 값이 0일 때 sql을 사용하여 구현하는 방법이 제한되지 않습니다.

예: 특정 지역의 특정 유형의 매장을 쿼리할 때 지역이 무제한일 수 있습니다. 유형이 중국 음식인 경우 쿼리에는 지역 = 값이 필요하지 않고 유형 = 중국인 경우에만 필요합니다. food. 지역이 베이징이면 유형이 중국 음식입니다. 쿼리할 때 where 지역 =BeijingAND 유형=중국 음식입니다.

그 밖에도 if else를 사용하여 백엔드에서 판단한 후 다른 sql 문을 사용하여 쿼리하는 것은 너무 번거롭지만 sql에는 해당 솔루션이 있어야 한다고 생각합니다. 조언 좀 해주세요.

답글 내용:

다중 조건 쿼리를 구현하려면 값이 0일 때 sql을 사용하여 구현하는 방법이 제한되지 않습니다.

예: 특정 지역의 특정 유형의 매장을 쿼리할 때 지역이 무제한일 수 있습니다. 유형이 중국 음식인 경우 쿼리에는 지역 = 값이 필요하지 않고 유형 = 중국인 경우에만 필요합니다. food. 지역이 베이징이면 유형이 중국 음식입니다. 쿼리할 때 where 지역 =BeijingAND 유형=중국 음식입니다.

그 밖에도 if else를 사용하여 백엔드에서 판단한 후 다른 sql 문을 사용하여 쿼리하는 것은 너무 번거롭지만 sql에는 해당 솔루션이 있어야 한다고 생각합니다. 조언 좀 해주세요.

해당 위치를 확인하고 철자를 입력할 수 있습니다.
예: $sql = select * from xxx where 1=1;

<code>if(类型!=0){
    $sql .= 'and where 类型 = 中餐';
}</code>

쿼리 조건을 Map 매개변수로 사용한 다음 추가 쿼리 문을 연결하는 메서드를 사용합니다.

<code>public String getWhere(Map<string object> params) {
    String str = "";
    
    if(params.size() > 0) {
        boolean and = false;
        for(String param : params.keySet()) {
            Object value = params.get(param);
            if(value == null || value.equals(0)) {
                continue;
            } else {
                if(and) {
                    str = str + " and " + param + " = " + " " + value;
                } else {
                    and = true;
                    str = str + param + " = " + " " + value;
                }
                
            }
        }
    }
    
    if(str != "") { 
        str = " where " + str;
    }
    
    return str;
}</string></code>

mybatis는 SQL을 주문합니다
JPA는 creteria를 주문합니다

링크 조건 및 또는

Mysql 쿼리는 문자열을 사용하여 Mysql 쿼리 명령을 전달하므로 where 뒤에 있는 쿼리 조건을 수정하는 것이 완전히 가능합니다. 먼저 문자열 배열을 만들어 이러한 명령을 저장한 다음 매번 이를 사용하여 다음과 같은 조건을 수정할 수 있습니다. as Hook 주소를 선택한 후 해당 배열의 값을 수정하거나, 쿼리를 클릭한 후 인터페이스에서 식사 카테고리나 주소 등 어떤 구성요소가 확인되어 있는지 확인하고 해당 값을 가져와서 배열에 추가한 후 비어 있으면 처리되지 않습니다. 비어 있지 않으면 통합 조건 문자열에 추가되고 최종적으로 쿼리 명령 문자열에 추가됩니다.
string cmd = “select. * 통일된 조건이 있는 테이블 이름에서 "
초보라서 신중하게 생각하지 못했을 수도 있지만 이 접근 방식에는 큰 문제가 없을 것입니다

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询Aug 26, 2022 pm 02:07 PM

本篇文章给大家带来了关于SQL的相关知识,其中主要介绍了SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询的方法,文中通过示例代码介绍的非常详细,下面一起来看一下,希望对大家有帮助。

SQL Server解析/操作Json格式字段数据的方法实例SQL Server解析/操作Json格式字段数据的方法实例Aug 29, 2022 pm 12:00 PM

本篇文章给大家带来了关于SQL server的相关知识,其中主要介绍了SQL SERVER没有自带的解析json函数,需要自建一个函数(表值函数),下面介绍关于SQL Server解析/操作Json格式字段数据的相关资料,希望对大家有帮助。

聊聊优化sql中order By语句的方法聊聊优化sql中order By语句的方法Sep 27, 2022 pm 01:45 PM

如何优化sql中的orderBy语句?下面本篇文章给大家介绍一下优化sql中orderBy语句的方法,具有很好的参考价值,希望对大家有所帮助。

一文搞懂SQL中的开窗函数一文搞懂SQL中的开窗函数Sep 02, 2022 pm 04:55 PM

本篇文章给大家带来了关于SQL server的相关知识,开窗函数也叫分析函数有两类,一类是聚合开窗函数,一类是排序开窗函数,下面这篇文章主要给大家介绍了关于SQL中开窗函数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下。

Monaco Editor如何实现SQL和Java代码提示?Monaco Editor如何实现SQL和Java代码提示?May 07, 2023 pm 10:13 PM

monacoeditor创建//创建和设置值if(!this.monacoEditor){this.monacoEditor=monaco.editor.create(this._node,{value:value||code,language:language,...options});this.monacoEditor.onDidChangeModelContent(e=>{constvalue=this.monacoEditor.getValue();//使value和其值保持一致i

Monaco Editor怎么实现SQL和Java代码提示Monaco Editor怎么实现SQL和Java代码提示May 11, 2023 pm 05:31 PM

monacoeditor创建//创建和设置值if(!this.monacoEditor){this.monacoEditor=monaco.editor.create(this._node,{value:value||code,language:language,...options});this.monacoEditor.onDidChangeModelContent(e=>{constvalue=this.monacoEditor.getValue();//使value和其值保持一致i

如何使用exp进行SQL报错注入如何使用exp进行SQL报错注入May 12, 2023 am 10:16 AM

0x01前言概述小编又在MySQL中发现了一个Double型数据溢出。当我们拿到MySQL里的函数时,小编比较感兴趣的是其中的数学函数,它们也应该包含一些数据类型来保存数值。所以小编就跑去测试看哪些函数会出现溢出错误。然后小编发现,当传递一个大于709的值时,函数exp()就会引起一个溢出错误。mysql>selectexp(709);+-----------------------+|exp(709)|+-----------------------+|8.218407461554972

springboot配置mybatis的sql执行超时时间怎么解决springboot配置mybatis的sql执行超时时间怎么解决May 15, 2023 pm 06:10 PM

当某些sql因为不知名原因堵塞时,为了不影响后台服务运行,想要给sql增加执行时间限制,超时后就抛异常,保证后台线程不会因为sql堵塞而堵塞。一、yml全局配置单数据源可以,多数据源时会失效二、java配置类配置成功抛出超时异常。importcom.alibaba.druid.pool.DruidDataSource;importcom.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;importorg.apache.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.