SQL 面试题一
1.用一条Sql语句查询出每门功课都大于80分的学生姓名
Name
Class
Result
张三
语文
56
张三
数学
88
李四
语文
92
李四
数学
100
王五
语文
88
王五
数学
99
王五
英语
99
-------------------------------------------------------------------------------
答案:
SELECT DISTINCT name
from exercise
WHERE name NOT IN (SELECT name from exercise WHERE result < 80))
2. 筛选出表"A"中第31到40记录(表中ID为主键,注意:ID号有可能不是连续的)
------------------------------
答案:
SELECT TOP 10 from (SELECT TOP 40 * from A ORDER BY id DESC)
相关文档:
最近在搞性能优化,由于项目的需要,我们必须尽可能的减少数据库的调用,于是我们做了不少的优化,比如原先需要3个数据库调用的,现在我们把它整合到一个存储过程中,这样只需要一个方法即可。
但这也产生了另外一个问题,之前我们是使用MS SQL Profiler去跟踪数据库的调用的,由于整合了不少存储过程,比如原先需要三个存 ......
CREATE proc page
@RecordCount int output,
@QueryStr nvarchar(100)='table1',--表名、视图名、查询语句
@PageSize int=20, --每页的大小(行数)
@PageCurrent int=2, --要显示的页 从0开始
@FdShow nvarchar (1000)='*', --要显示的字段列表
@IdentityStr nvarchar (100)='id', --主键
@WhereStr nvarchar ......
你写过一条sql语句来修改两个表的数据吗?
UPDATE test.table1 t1,test.table2 t2 SET t1.aa='a',t1.bb='b',t2.cc='c',WHERE t1.u_id=t2.u_id AND t1.u_id='1' ;
table1的u_id和table2的u_id是主外键关系 ......
应一个朋友的要求,贴上收藏的SQL常用分页的办法~~
表中主键必须为标识列,[ID] int IDENTITY (1,1)
1.分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECT TOP 页记录数量 *
from 表名
WHERE (ID NOT IN
(SELECT TOP (每页行数*(页数-1)) ID
from 表名
ORDER BY ......
I'm continually trying to track down what service packs are installed on various SQL Servers I support. I can never find the right support page on Microsoft's site. So here's an article with all the SQL Server version information I can track down. If you know of any older versions or can help me fil ......