SELECT TOP(1) NAME,SECTION
FROM STUDENT
WHERE AGE = 10
ORBER BY NAME DESC;
基于上述查询,请建议一个在所有类型的数据库(sqlserver、mssql、DB2..etc)中运行的唯一查询,或者请建议我一个所有数据库都接受 Top(1) 查询的查询。
SELECT TOP(1) NAME,SECTION
FROM STUDENT
WHERE AGE = 10
ORBER BY NAME DESC;
基于上述查询,请建议一个在所有类型的数据库(sqlserver、mssql、DB2..etc)中运行的唯一查询,或者请建议我一个所有数据库都接受 Top(1) 查询的查询。
每个都有不同的语法。
SQL Server / MS 访问语法
SELECT TOP number|percent column_name(s) FROM table_name;
MySQL 和 Oracle MySQL 语法中的 SQL SELECT TOP 等效项
SELECT column_name(s) FROM table_name LIMIT number;
甲骨文语法
SELECT column_name(s) FROM table_name WHERE ROWNUM <= number;
DB2 语法:
SELECT column_name, .. FROM table_name FETCH FIRST n ROWS ONLY;
顺便说一下,DB2 还支持 Oracle 和 MySQL 语法,并具有适当的配置设置。
我不确定它是否是正确的语法,但我会尝试。
SELECT s1.NAME, s1.SECTION
FROM STUDENT s1
left join student s2
on s1.name < s2.name
WHERE s1.AGE = 10
and s2.age = 10
and s2.name is null;
然而,没有统一的语法。这里有主要数据库链接的语法。