MySQL使用子查询注意事项及使用技巧
程序员文章站
2022-05-31 23:46:13
使用子查询注意事项:
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' );
注意: 如果在涉及到多张表中有同名的列时候,注意使用完全限定名.
上一篇: 结婚戒指戴哪个手指上,一分钟教你佩戴知识
下一篇: oracle提取手机号码