如何得到一个表有多少条记录?这个问题很简单,但掌握了却十分的实用。
统计一个表的记录总数要用到count()这个函数,因为id这个系统自带的ID是唯一的,所以只要统计ID这个字段的个数就行了。语句如下:
select count(t.id) from table t
在Oracle数据库中ID就变成了ROWID,效果是一样的。当你的sql语句运行很慢的时候,不妨查看一下这个表有多少条记录。在做联合查询的时候,如果两个表的数据量非常大,那么什么inner join啊left join啊都会很慢,更何况有时候还不只是是两个表,所以很有可能就是卡死的结果。想想两个表都有几十万条记录,相互插入查询,工作量可是很恐怖的。
最近还发现联合查询的一个小技巧。有时候我们未必要inner join 一个表,而是可以选中一个表中的一两个字段重命名为一个新的表。语句如下:
select a.name,c.score from 表1 a inner join (select distinct b.score,b.studentid from 表2 b ) c on c.studentid=a.studentid
可能表2的数据量非常大,我们可以通过distinct来进行去重复操作,这样sql语句运行的效率会快一些。