Потому что с точки зрения реляционной теории кортежи отношения не упорядочены, и СУБД имеет право хранить их (и соответственно выдавать) в любом порядке. Так что говорить, например, о 100-й записи довольно-таки некорректно.
Про отношения - все верно. Но описанная задача никак не противоречит реляционной теории, так как в таблице есть ключевое поле. Т.е. можно упорядочить выборку данных по этому полю, иначе зачем люди придумали первичные ключи и ORDER BY.
Как же вытащить эту запись? Помогите, пожалуйста!
Задачка сводится к нумерации строк в запросе.
Самый "железный" вариант - создание временной таблицы с дополнительным полем типа int identity. На MS SQL Server выглядит все примерно так:
CREATE TABLE #tmp(new_id int identity, my_id int)
INSERT INTO #tmp(my_id) SELECT id FROM mytable
SELECT #tmp.new_id, fields_from_mytable
FROM #tmp INNER JOIN mytable ON #temp.my_id = mytable.id
DROP TABLE #tmp