1. <small id='ddbdk'></small><noframes id='ddbdk'>

    2. <legend id='ddbdk'><style id='ddbdk'><dir id='ddbdk'><q id='ddbdk'></q></dir></style></legend>

      <i id='ddbdk'><tr id='ddbdk'><dt id='ddbdk'><q id='ddbdk'><span id='ddbdk'><b id='ddbdk'><form id='ddbdk'><ins id='ddbdk'></ins><ul id='ddbdk'></ul><sub id='ddbdk'></sub></form><legend id='ddbdk'></legend><bdo id='ddbdk'><pre id='ddbdk'><center id='ddbdk'></center></pre></bdo></b><th id='ddbdk'></th></span></q></dt></tr></i><div id='ddbdk'><tfoot id='ddbdk'></tfoot><dl id='ddbdk'><fieldset id='ddbdk'></fieldset></dl></div>
        <bdo id='ddbdk'></bdo><ul id='ddbdk'></ul>
    3. <tfoot id='ddbdk'></tfoot>

        如果第一个 SELECT 返回 0 行,则第二个 SELECT 查询

        时间:2023-06-01
          <legend id='sYvVb'><style id='sYvVb'><dir id='sYvVb'><q id='sYvVb'></q></dir></style></legend>

        • <small id='sYvVb'></small><noframes id='sYvVb'>

        • <i id='sYvVb'><tr id='sYvVb'><dt id='sYvVb'><q id='sYvVb'><span id='sYvVb'><b id='sYvVb'><form id='sYvVb'><ins id='sYvVb'></ins><ul id='sYvVb'></ul><sub id='sYvVb'></sub></form><legend id='sYvVb'></legend><bdo id='sYvVb'><pre id='sYvVb'><center id='sYvVb'></center></pre></bdo></b><th id='sYvVb'></th></span></q></dt></tr></i><div id='sYvVb'><tfoot id='sYvVb'></tfoot><dl id='sYvVb'><fieldset id='sYvVb'></fieldset></dl></div>

              • <bdo id='sYvVb'></bdo><ul id='sYvVb'></ul>
                  <tbody id='sYvVb'></tbody>
              • <tfoot id='sYvVb'></tfoot>
                  本文介绍了如果第一个 SELECT 返回 0 行,则第二个 SELECT 查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在尝试加快 PHP 脚本的运行速度,目前我正在该事物的 Mysql 域中推送一些 PHP 逻辑.如果第一个 Select 不返回行或计数为零,是否有办法进行不同的选择查询?

                  I am trying to speed up a PHP script and I am currently pushing some PHP logic in the Mysql domain of the thing. Is there a way to make a different select query if the first Select returns no rows, or a count of zero ?

                  请记住,第一个查询需要先运行,第二个查询应该在第一个查询返回空集时激活.

                  Keeping in mind that the first query needs to run first, and the second should only be activated if the first one returns an empty set.

                  SELECT * FROM proxies WHERE (A='B') || SELECT * FROM proxies WHERE (A='C')
                  

                  对于上面的 2 个查询,我有这个代码,但它似乎每个查询运行两次(一次计数,一次返回).有没有更好的方法来做到这一点?

                  For the above 2 queries I have this code, but it seems to run each query twice (once to count, and once to return). Is there a better way to do this?

                  IF (SELECT count(*) FROM proxies WHERE A='B')>0
                      THEN SELECT * FROM proxies WHERE A='B'
                  ELSEIF (SELECT count(*) FROM proxies WHERE A='C')>0
                      THEN SELECT * FROM proxies WHERE A='C'
                  END IF
                  

                  推荐答案

                  一种选择是将 UNION ALLEXISTS 一起使用:

                  One option would be to use UNION ALL with EXISTS:

                  SELECT * 
                  FROM proxies 
                  WHERE A='B'
                  UNION ALL
                  SELECT * 
                  FROM proxies 
                  WHERE A='C' AND NOT EXISTS (
                      SELECT 1
                      FROM proxies 
                      WHERE A='B'
                  )
                  

                  • SQL Fiddle 演示
                  • 这将返回 proxies 表中的行,其中 A='B' 如果它们存在.但是,如果它们不存在,它将查找那些带有 A='C' 的行.

                    This will return rows from the proxies table where A='B' if they exist. However, if they don't exist, it will look for those rows with A='C'.

                    这篇关于如果第一个 SELECT 返回 0 行,则第二个 SELECT 查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:MySQL是否允许使用点创建数据库? 下一篇:VBA如何在Excel中连接MySQL数据库?

                  相关文章

                  <tfoot id='CTs6f'></tfoot>
                  • <bdo id='CTs6f'></bdo><ul id='CTs6f'></ul>
                  <legend id='CTs6f'><style id='CTs6f'><dir id='CTs6f'><q id='CTs6f'></q></dir></style></legend>
                  1. <i id='CTs6f'><tr id='CTs6f'><dt id='CTs6f'><q id='CTs6f'><span id='CTs6f'><b id='CTs6f'><form id='CTs6f'><ins id='CTs6f'></ins><ul id='CTs6f'></ul><sub id='CTs6f'></sub></form><legend id='CTs6f'></legend><bdo id='CTs6f'><pre id='CTs6f'><center id='CTs6f'></center></pre></bdo></b><th id='CTs6f'></th></span></q></dt></tr></i><div id='CTs6f'><tfoot id='CTs6f'></tfoot><dl id='CTs6f'><fieldset id='CTs6f'></fieldset></dl></div>
                  2. <small id='CTs6f'></small><noframes id='CTs6f'>