首页 > 数据库技术 > 详细

编写sql查询的3种写法

时间:2015-11-20 15:30:59      阅读:124      评论:0      收藏:0      [点我收藏+]

举例
table1
id, 主键自增
state 状态

table2
id, 主键自增
table1Id table1的外键
name

要求:要查询所有table1状态为1对应table2中name信息

第一种写法

SELECT table2.name
FROM   table1,
       table2
WHERE  table1.id = table2.table1Id
       AND table1.state = 1 

第二种写法 

 SELECT table2.name
   FROM
 (SELECT id
   FROM table1
  WHERE table1.state = 1) table1,
  tbale2
 WHERE tbale1.Id = table2.table1Id

第三种写法

;WITH table3
     AS (SELECT id
         FROM   table1
         WHERE  table1.state = 1)
SELECT table2.name
FROM   table2,
       table3
WHERE  table2.table1Id = table3.id 

总结:

第一种写法适合较少的表关联,优点:易懂,写法简单 ;缺点:多张表关联时,自身逻辑比较容易混乱

第二种写法适合中等量的表关联,优点:where后面不会跟太多表的查询语句; 缺点:查询语句复杂时,不容易找到问题

第三种写法适合多张表关联,优点:写法具有逻辑性,可以一步步筛选出自己想要的数据 缺点:语句较长

编写sql查询的3种写法

原文:http://www.cnblogs.com/town-code-farmers/p/4980710.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!