SQL SEVER中的随机查询
由来
最近由于背单词比较频繁,再加上市面上的一些单词软件用的不是特别顺手,就想到能不能用刚学完的SQLSEVER来实现一些小功能,这小功能就是将自己提供的单词库随机的显现出来。
建表
由于我学习的是SQL SEVER,所以下文中使用到的都是SQL SEVER的使用代码。
由于只是一个引子一样的存在,所以建表study,也比较简单,只有三列id,english,chinese,三列的类型分别为int,nchar(30),nchar(50)。
表study:
id | english | chinese |
---|
基本查询
当然数据库最基本的无非增、删、改、查,而背单词很明显用到的就是其中的“查”。
最基础的代码如下:
select * from study
核心
上面并不重要,下面提到的才是实现随机查询的核心。
单词库中的单词数肯定很多,我们如果每次都按照同样的顺序把数据查询出来,当然起不到复习的作用,所以我们就要用到随机查询,代码如下:
select * from study
order by newid()
这代码就是把study表中的数据重新排序,按照重新排完的顺序输出查询结果。也可以优化一下,每次随机输出10个单词的英文和中文:
select top 10 english,chinese from study
order by newid()
放入数据库中运行:
再运行第二次:
结果不相同,执行正确。