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;
怎么改 展开
select top 3 * from Std where userId not in(select top 3 userId from Std)
但是在mysql里面是不对的
请问怎么样改才是对的?
还有
select count(*) lc;
怎么改 展开
4个回答
展开全部
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只支持一种存储引擎。
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只支持一种存储引擎。
展开全部
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 ?
这个top 3短句不能用,改成limit 3,且放在结尾处,如下:
select * from Std where userId not in(select top 3 userId from Std) Limit 3
SELECT COUNT(*) FROM lc; 这个应该是可以的,你是不是少了一个from ?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样修改:
select * from
Std where userId not in(select top 3 userId from Std)
and rownum<=3;
第二个:select count(*) from lc;
select * from
Std where userId not in(select top 3 userId from Std)
and rownum<=3;
第二个:select count(*) from lc;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from Std where userId not in(select serId from Std limit 3) Limit 3
select count(*) lc;
select count(*) lc;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询