关于SQLSERVER 查询的问题
大家好 最近遇到点麻烦 请大家帮忙 如下 :
我在一个学生的数据库 STU 中查询STUDENTS 表中 相关的数据
CREATE TABLE STUDENTS
(
ID INT IDENTITY(1,1) PRIMARY KEY ,
[NAME] VARCHAR(20) NOT NULL,
[CLASS] VARCHAR(10) NOT NULL,
SEX INT NOT NULL, -- 0或1
)
比如 根据 班级 性别 查询姓名
SELECT NAME from STUDENTS WHERE SEX=1 AND CLASS ='01班'
查询出 3000 条数据
分两次提取
我第一次需要 2000 条 TOP 2000
第二次 我需要剩下的 1000 然后 TOP 1000 ....NOT IN... TOP 2000
我以为这样可以达到我希望的结果 但是
两次查出的数据有很多重复的
或许有 朋友会说 你笨啊 怎么不加 ORDER BY ID
我也知道 但是 ORDER BY 后 速度会相当的慢
所以在这里 求助啦 先谢谢大家啦
看看加个索引可以解决不。
没有排序列top会随机返回的。
速度不会相当的慢 只有3000数据
order by 是必须的,可以考虑在id上建索引
可以考虑加个聚集索引....
SQL code:
SELECT TOP 1000 NAME from (SELECT DISTINCT TOP 2000 NAME from TB)AS T
集合运算符EXCEPT。 从左查询中返回右查询没有找到的所有非重复值。
相关问答:
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class QueryTest&n ......
我想把mysql里的users表里数据导入到sqlserver里的fs_me_users表里
里面的字段就不列出来了 是对应得。
用asp asp.net 或者 直接sql语句都行
请教各位。。。。!
这个不难吧
1. asp.net 的话,读取mysql的记录集 ......
如何将SqlServer数据库中的数据导入到Excel中?
选择数据库,点击右键 任务->导出数据 之后按照提示导出就可以了!
表多的话 用楼上的方法 比较方便 可以把数据库里相应的表导出 或者如果你是查询出来的 ......
2002年5月职工花名册
序号 姓名 性别 民族 工资
1 张三 男 汉 800.00
2 ......