Существует ли альтернатива ANSI SQL ПРЕДЕЛЬНОМУ ключевому слову MySQL?

Я понимаю, что исходный GetHashCode () возвращает адрес памяти объекта, поэтому необходимо переопределить его, если вы хотите сравнить два разных объекта.

EDITED: это неверно, исходный метод GetHashCode () не может гарантировать равенство двух значений. Хотя объекты, которые равны, возвращают один и тот же хэш-код.

30
задан Gary Willoughby 27 February 2009 в 15:11
поделиться

5 ответов

это показывает различные пути:

-- DB2
select * from table fetch first 10 rows only 
-- Informix 
select first 10 * from table 
-- Microsoft SQL Server and Access 
select top 10 * from table 
-- MySQL and PostgreSQL 
select * from table limit 10 
-- Oracle 
select * from (select * from table) where rownum <= 10
36
ответ дан senshin 11 October 2019 в 13:04
поделиться

Я не верю так. Все базы данных, что я знаю об использовании определенные для поставщика ключевые слова для той функциональности.

3
ответ дан Jeremy DeGroot 11 October 2019 в 13:04
поделиться

Не в SQL:1999.

существует два возможных подхода, которые можно использовать в более поздних стандартах с обычно низкими уровнями поддержки в сегодняшнем DBMSs.

В SQL:2008 можно использовать синтаксис DB/2:

SELECT * FROM things
ORDER BY smell
FETCH FIRST n ROWS ONLY

Это только работает на “LIMIT n” а не расширенный “LIMIT m, n” синтаксис смещения. В SQL:2003 можно использовать функции окна, которые могут поддерживать расширенный синтаксис, но являются супер ЛАВАШЕМ:

SELECT * FROM (
    SELECT *, ROW_NUMBER() OVER (ORDER BY smell) AS rn,
    FROM things
)
WHERE rn<=n -- or rn BETWEEN m+1 AND m+n

Вы будете чаще использовать определенные для DBMS методы сегодня.

22
ответ дан bobince 11 October 2019 в 13:04
поделиться

Добавление к @jle ответ :

  • поддержки SQLite LIMIT (MySQL/PostgreSQL)
  • поддержка InterBase/Firebird SELECT FIRST и SKIP (как Informix)

Также см. ПРЕДЕЛЬНЫЙ пункт MySQL Emulate в Microsoft SQL Server 2000

1
ответ дан Community 11 October 2019 в 13:04
поделиться

HSQL / H2 использует LIMIT, как MySQL

1
ответ дан 27 November 2019 в 23:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: