mysql中子查询注意事项_MySQL使用子查询注意事项及使用技巧

使用子查询注意事项:

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'

);

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

希望与广大网友互动??

点此进行留言吧!

你可能感兴趣的:(mysql中子查询注意事项)