【mysql – 奇怪的SQL代码:为什么他们使用子查询而不是join?】教程文章相关的互联网学习教程文章

mySQL笔记(七):子查询【代码】

#进阶7:子查询 /* 说明:当一个查询语句中又嵌套了另一个完整的select语句,则被嵌套的select语句称为子查询或内查询 外面的select语句称为主查询或外查询。分类: 按子查询出现的位置进行分类: 1、select后面要求:子查询的结果为单行单列(标量子查询) 2、from后面结果可以为多行多列 3、where或having后面子查询的结果必须为单列单行子查询多行子查询 4、exists后面子查询结果必须为单列(相关子查询)特点:1、子查询放在条...

mysql 子查询中 使用 limit

如果sql语句中的子查询包含limit 例如: select * from a where id in (select id from b limit 3) 会报错:This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery # 解决办法: 1、加一层子查询 例如:select * from a where id in (select t.id from (select id from b limit 3 )as t) 2、把限制条件放到from而非where子句中,就不必出现嵌套再嵌套。 例如:select * from (select id from a lim...

需要有关MySQL子查询计数的帮助【代码】

我遇到了自己的MySQL查询技能限制,因此希望一些SQL专家可以帮助您解决这一问题.情况如下: 我有可以标记的图像.如您所料,它存储在三个表中: >图片>标签> Tag_map(将图像映射到标签) 我有一个SQL查询,该查询根据标签ID计算相关标签.该查询基本上检查使用了其他标签的图像.例: Image1标记为“熊”Image2分别标记为“熊”和“加拿大” 如果在查询中抛出“熊”(或其标记ID),它将返回“加拿大”.这很好.这是查询:SELECT tag.name, ta...

MySQL子查询【代码】

UPDATE members SET money=money+100 WHERE username IN ( SELECT username FROM forum);可以说,我想为我的每个成员在论坛中发给每个帖子100钱.该查询有效,但如果一个成员发布了多次,则只能得到100.有人可以更正此查询吗?解决方法:您可以继续使用与set语句本身的where子句中使用的子查询相同的子查询. 像这样update members m set money=money+100*(select count(*) from forum f where f.username = m.username);

mysql-如何仅在WHERE COUNT(使用GROUP BY的子查询)= 1的情况下更新值?【代码】

我试图通过单个查询将行值设置为1,这是组中的唯一行. 当前表(CATEGORY_BRAND):|categoryId | brandId | featured | |-----------+---------+----------| | 1 | 100 | -1 | | 1 | 101 | -1 | | 1 | 102 | -1 | | 2 | 100 | -1 | | 3 | 110 | -1 | | 3 | 111 | -1 | | 4 | 102 | -1 | | 5 ...

当子查询返回0行时,MySQL查询不返回任何内容【代码】

如果任何子查询都不返回任何行,则尝试从子查询中选择字段时,则不返回任何内容(甚至不返回空结果集)SELECT sub1.field, sub2.another_fieldFROM ((SELECT fieldFROM tableWHERE id=1) AS sub1, (SELECT another_fieldFROM tableWHERE id=2) AS sub2)我希望当子查询返回0行时包含NULL值的行.解决方法:您需要执行以下外部联接SELECT sub1.field, sub2.another_field FROM (SELECT field, idFROM tab1WHERE id=1) AS sub1 LEFT OUTER J...

Mysql的子查询(AGAINST的参数不正确)【代码】

当我使用MySql使用MATCH AGAINST执行此查询时(请参阅查询1st),此查询中的问题会生成这样的错误(请参阅错误),或者当我使用=执行相同的查询时,它们将正常执行(请参阅查询2nd). 我的问题是,反对声明我做错了什么?Query 1stSELECT (SELECT COUNT(up.`user_id`) FROM `users_post` up WHERE MATCH (up.`user_id`) AGAINST (uf.`user_id`)) AS user_count FROM `users` ufErrorenter code hereError Code : 1210 Incorrect arguments...

mysql-根据子查询替换列值【代码】

基本上,我有一个表,将其称为常规表,为我提供一周中给定日期的service_id,然后有另一个表,将其称为异常,该表指定了service_id与通常不同的某些日期.将service_id视为不透明字符串. 常规的结构:+-------------+------------+ | day_of_week | service_id | +-------------+------------+ | sunday | some_serv | | monday | another | | tuesday | another |(它持续一周的其余时间,几天通常可以具有相同的serv...

mysql-使用行排序的SQL子查询的顺序反转【代码】

我有一个MySQL表,其中包含有关程序功能使用情况的统计信息.我从中检索到的基本上是这样的(这里总共前15位):SELECT function_id, data_timer, SUM( data_counter ) total FROM data GROUP BY function_id ORDER BY total DESC+-------------+------------+-------+ | function_id | data_timer | total | +-------------+------------+-------+ | 56 | 567 | 4389 | | 23 | 7880 | 1267 | | ...

如何在MySQL子查询中按MAX(日期)排序?【代码】

我对此查询感到麻烦: 我有两个表:样本和歌曲我想选择pathName from samples id_user from samples id from songs name from songs每个样本都属于一首歌曲:我想将共享相同歌曲ID的每个样本归为一组,以便选择最后的日期.所以我像这样在两个表之间进行联接:$query = 'SELECT samples.pathName path_name,samples.id_user id_user,songs.id id_song,songs.name song_nameFROM (SELECT *, MAX(date) AS maxDate ...

mysql-子查询以查找已下订单的客户【代码】

我刚刚开始学习MYSQL,尽管我非常擅长联接,但是子查询存在很多问题.因此,我决定练习更多.我想查找过去下过订单的客户及其ID.商品的价格必须为6.5美元或更高.使用联接这是我的方法:SELECT CUSTOMER_TBL.CUST_ID , CUST_NAME FROM CUSTOMER_TBL INNER JOIN ORDERS_TBL ON ORDERS_TBL.CUST_ID = CUSTOMER_TBL.CUST_ID INNER JOIN PRODUCTS_TBL ON ORDERS_TBL.PROD_ID = PRODUCTS_TBL.PROD_ID WHERE PRODUCTS_TBL.COST > 6.5这是我使...

mysql-‘IN / ALL / ANY’子查询中的未知列【代码】

我有2个表:members和member_logs. 成员可以属于成员表,该组位于成员表中.给定一个日期范围和一个组,我试图找出如何获得成功登录次数最多的10天.到目前为止,我所得到的是大量的子查询恐怖信息.SELECT count(member_id) AS `num_users`, DATE_FORMAT(`login_date`,'%Y-%m-%d') AS `reg_date` FROM member_logs WHERE `login_success` = 1 and `reg_date` IN (SELECT DISTINCT DATE_FORMAT(`login_date`,'%Y-%m-%d') AS `reg_date...

如何在MySQL中使用子查询显示两个表的混合结果?【代码】

问题的标题可能不完全正确.我将尝试更好地解释我的问题.我有两个具有以下结构的表: 表01:ID | GENUS | SPECIES | INDIVIDUUM1 | A | a | alfa2 | B | b | beta3 | C | c | gama4 | D | d | delta5 | E | e | epsilon表02:ID1 | ID2 | INDEX1 | 2 | 21%1 | 3 | 17%1 | 4 | 32%1 | 5 | 43%2 | 1 | 21%2 | 3 | 19%2 | 4 | 94%2 | 5 | 91%. ...

php-MySQL查询/子查询【代码】

我正在尝试使现有数据库和系统与我们现在从制造商处接收到的数据保持一致.其格式无法/不会更改.该表包含一个制造商的产品编号(item_id)与多个制造商的参考零件(oem_code)的对照表. 表:外部参照item_id | oem_codeA | 123A | 234B | 234B | 345C | 456 表格:零件(仅显示相关的partNum列)partNum S.A S.B S.C 123 234 345 456 两个外部参照列均在部件表中包含部件号.我需要输入...

MySQL子查询比2个独立查询慢【代码】

我为一个简单的子查询而烦恼.我有以下查询女巫运行30秒:SELECT DISTINCT SUBSTRING( 6pp, 1, 4 ) AS postcode FROM 6pp WHERE gemeenteID IN (SELECT gebiedIDFROM tmp_orderimportWHERE typeGebied = 'Gemeente'AND idorder =1733AND STATUS = TRUE ); 说明: 如果我将查询分为2个查询并首先运行IN部分,则整个过程只花了不到一秒钟的时间.但当然我更喜欢使用一个查询.表格在MYISAM中.有什么建议么? 更新: 遵循戈登利诺夫(Go...