mysql和sql server中sql语法区别

原本在sqlserver里面这句是没有问题的selecttop3*fromStdwhereuserIdnotin(selecttop3userIdfromStd)但是在m... 原本在sql server里面这句是没有问题的
select top 3 * from Std where userId not in(select top 3 userId from Std)
但是在mysql里面是不对的
请问怎么样改才是对的?
还有

select count(*) lc;
怎么改
展开
 我来答
du瓶邪
推荐于2017-09-20 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2956万
展开全部
1、mysql支持enum,和set类型,sql server不支持
2、mysql不支持nchar,nvarchar,ntext类型
3、mysql的递增语句是AUTO_INCREMENT,而mssql是identity(1,1)
4、mssql默认到处表创建语句的默认值表示是((0)),而在mysql里面是不允许带两括号的
5、mysql需要为表指定存储类型
6、mssql识别符是[],[type]表示他区别于关键字
7、mssql支持getdate()方法获取当前时间日期,但是mysql里面可以分日期类型和时间类型,获取当前日期是cur_date(),当前完整时间是 now()函数
8、mssql不支持replace into 语句,但是在最新的sql20008里面,也支持merge语法
9、mysql支持insert into table1 set t1 = ‘', t2 = ‘' ,但是mssql不支持这样写
10、mysql支持insert into tabl1 values (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)
11 mssql不支持limit语句,是非常遗憾的,只能用top 取代limt 0,N,row_number() over()函数取代limit N,M
12、mysql在创建表时要为每个表指定一个存储引擎类型,而mssql只支持一种存储引擎。
splaybow
2012-03-17 · TA获得超过488个赞
知道小有建树答主
回答量:941
采纳率:0%
帮助的人:725万
展开全部
select top 3 * from Std where userId not in(select top 3 userId from Std)
这个top 3短句不能用,改成limit 3,且放在结尾处,如下:
select * from Std where userId not in(select top 3 userId from Std) Limit 3

SELECT COUNT(*) FROM lc; 这个应该是可以的,你是不是少了一个from ?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yiyun100912
2012-03-17 · 超过30用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:55.4万
展开全部
这样修改:
select * from
Std where userId not in(select top 3 userId from Std)
and rownum<=3;
第二个:select count(*) from lc;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
失落的雨毛
2012-03-17 · TA获得超过844个赞
知道小有建树答主
回答量:1074
采纳率:50%
帮助的人:956万
展开全部
select * from Std where userId not in(select serId from Std limit 3) Limit 3
select count(*) lc;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式