**Describe the unexpected behaviour**
OFFSET can work without ORDER BY , but OFFSET FETCH cannot work without ORDER BY, and throw strange syntax error: `failed at 'FETCH' Expected FETCH`.

**How to reproduce**
* Clickhouse Version: `21.10.2.15`
* `CREATE TABLE test_fetch (a INT, b INT) ENGINE=MergeTree ORDER BY b;`
* `INSERT INTO test_fetch VALUES (1, 1), (2, 1), (3, 4), (1, 4), (5, 4), (0, 6), (5, 7);`
* `OFFSET` without `ORDER BY` works: `SELECT * FROM test_fetch OFFSET 3 ROW;`
* `OFFSET FETCH` with `ORDER BY` works: `SELECT * FROM test_fetch ORDER BY a OFFSET 3 ROWS FETCH FIRST 3 ROWS ONLY;`
* `OFFSET FETCH` without `ORDER BY`  does ***NOT*** work: `SELECT * FROM test_fetch OFFSET 3 ROWS FETCH FIRST 3 ROWS ONLY;`

**Expected behavior**
Same behavior or correct error message.

**Error message and/or stacktrace**
![OFFSET-FETCH](https://user-images.githubusercontent.com/3500109/139619530-04433404-73ed-4fc6-a76a-68cb65a5bb31.png)


M(247, INCORRECT_MARK) \
    M(248, INVALID_PARTITION_VALUE) \
    M(250, NOT_ENOUGH_BLOCK_NUMBERS) \
    M(251, NO_SUCH_REPLICA) \
    M(252, TOO_MANY_PARTS) \
    M(253, REPLICA_IS_ALREADY_EXIST) \
    M(254, NO_ACTIVE_REPLICAS) \
    M(255, TOO_MANY_RETRIES_TO_FETCH_PARTS) \
    M(256, PARTITION_ALREADY_EXISTS) \
    M(257, PARTITION_DOESNT_EXIST) \
    M(258, UNION_ALL_RESULT_STRUCTURES_MISMATCH) \
    M(260, CLIENT_OUTPUT_FORMAT_SPECIFIED) \
    M(261, UNKNOWN_BLOCK_INFO_FIELD) \
    M(262, BAD_COLLATION) \
    M(263, CANNOT_COMPILE_CODE) \
    M(264, INCOMPATIBLE_TYPE_OF_JOIN) \
    M(265, NO_AVAILABLE_REPLICA) \
    M(266, MISMATCH_REPLICAS_DATA_SOURCES) \
    M(267, STORAGE_DOESNT_SUPPORT_PARALLEL_REPLICAS) \
    M(268, CPUID_ERROR) \
    M(269, INFINITE_LOOP) \
    M(270, CANNOT_COMPRESS) \
    M(271, CANNOT_DECOMPRESS) \
    M(272, CANNOT_IO_SUBMIT) \
    M(273, CANNOT_IO_GETEVENTS) \
    M(274, AIO_READ_ERROR) \
    M(275, AIO_WRITE_ERROR) \
    M(277, INDEX_NOT_USED) \
    M(279, ALL_CONNECTION_TRIES_FAILED) \
    M(280, NO_AVAILABLE_DATA) \