Mysql SQL查询似乎不会影响相同的行数,而是添加了一个count语句

Mysql SQL查询似乎不会影响相同的行数,而是添加了一个count语句,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我提出了一个类似这样的问题 查询1。 下面是一个普通的 查询2。 第一个查询返回(通过执行影响)48行,第二个查询返回103行。可能的原因是什么 我还将向您展示我的sql,以防您想自己运行 子问题-对于这一问题,一个新问题的开始毫无意义,因为它也与行数影响有关 除此之外,我还想知道如何进入第一个查询count(*)以获得受影响的行-必须在sql中完成,我无法使用php代码来实现这一点,可能最好使用限制1进行计数。使用额外的内部连接行可能会被消除。您是否尝试将内部联接添加到“Select*FROM

我提出了一个类似这样的问题

查询1。

下面是一个普通的

查询2。

第一个查询返回(通过执行影响)48行,第二个查询返回103行。可能的原因是什么

我还将向您展示我的sql,以防您想自己运行

子问题-对于这一问题,一个新问题的开始毫无意义,因为它也与行数影响有关


除此之外,我还想知道如何进入第一个查询count(*)以获得受影响的行-必须在sql中完成,我无法使用php代码来实现这一点,可能最好使用限制1进行计数。

使用额外的内部连接行可能会被消除。您是否尝试将内部联接添加到“Select*FROM zlec;”中

使用
内部联接
,如果您的其他表之一
koord
zlec\u-adresy
piorytet
zlec\u-status
中缺少与
zlec
中的记录对应的记录,则
zlec
中的记录将不在结果集中。如果要显示
zlec
中的每条记录,必须使用
LEFT JOIN
。退房:


这是一个很好的解释。

它们有很大的不同,第一个要求满足所有的连接条件-由于计数不同,它们不适用于
zlec
中的所有行。逐个添加联接,直到行计数不同。
内部联接将过滤掉记录。如果您不希望出现这种行为,请使用
左连接
。是的,左连接确实有效,但没想到会这么容易:)
  SELECT zlec_status.nazwa                       AS Status, 
           piorytet.nazwa                          AS Priorytet, 
           Concat(koord.imie, ' ', koord.nazwisko) AS `Koordynator`, 
           Concat(zlec_adresy.miasto, ' - ', zlec_adresy.ulica, ' ', 
           zlec_adresy.oddzial) 
                                                   AS `adres`, 
           zlec_z_dnia,zlec_id, 
           zlec_nr, 
           zlec_do, 
           zlec_ogran, 
           awizacje, 
           awizacja_na_dzien, 
           termin_zamkniecia, 
           tresc, 
           uwagi 
    FROM   zlec 
           INNER JOIN koord 
                   ON zlec.koord = koord.id 
           INNER JOIN zlec_adresy 
                   ON zlec.zlec_addres = zlec_adresy.id 
           INNER JOIN piorytet 
                   ON zlec.priorytet = piorytet.id 
           INNER JOIN zlec_status 
                   ON zlec.status_zlecenia = zlec_status.id 
SELECT * FROM zlec;