当前位置: 移动技术网 > IT编程>数据库>Mysql > MySQL使用子查询注意事项及使用技巧

MySQL使用子查询注意事项及使用技巧

2018年03月19日  | 移动技术网IT编程  | 我要评论
使用子查询注意事项: 1.MySQL 4.1引入了对子查询的支持.必须使用MySQL 4.1或更高级的版本. 2.能嵌套的子查询的数目没有限制,不过在实际使用时由于性能的限制,不

使用子查询注意事项:

1.MySQL 4.1引入了对子查询的支持.必须使用MySQL 4.1或更高级的版本. 2.能嵌套的子查询的数目没有限制,不过在实际使用时由于性能的限制,不能嵌套太多的子查询。

3.列必须匹配 在WHERE子句中使用子查询(如这里所示),应该保证SELECT语句具有与WHERE子句中相同数目的列。通常,子查询将返回单个列并且与单个列匹配,但如果需要也可以使用多个列.

WHERE  order_num  IN(   SELECT order_num 
                        FROM orderitems 
                        WHERE prod_id = 'TNT2'
                        );

4.子查询和性能: 很多时候这种子查询会影响效率,可以用连接表来替代.

逐渐增加子查询来建立查询技巧:

先写内部的查询语句,将查询出来的结果当做外层查询的条件以此外推,让所有的语句都能单独运行后再讲所有的子查询语句组合起来.减少出错率.

格式化SQL:

包含子查询的SELECT语句难以和调试别是它们较为复杂时更是如此。如上所示把子查询分解为并且适当地进行缩进,能极大地简化子查询的使用.(查询的内容,表,单个条件)

使用子查询EG:

SELECT cust_id 
FROM orders 
WHERE order_num  IN(SELECT order_num 
                    FROM orderitems 
                    WHERE prod_id = 'TNT2'
                    );

注意: 如果在涉及到多张表中有同名的列时候,注意使用完全限定名.

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网