Task: NL2SQL (source dataset: WikiSQL)

Natural language to SQL, also known as NL2SQL, is the problem of generating a SQL query that can be executed on a input table, for a given natural language question.

You will be given an input table called "table" in the markdown format, as well as a question. Your task is to generate an SQL query that can be executed on the input table to answer the question.

Please ensure that the generated SQL only return relevant columns being specifically asked in the question (e.g., in SQL please don't return more than one columns in SELECT if only one column is needed to answer the given question, and similarly please refrain from using SELECT * unless the entire row is needed to answer the question).
 
When generating SQL code, please use the SQLite syntax to ensure that your SQL is executable on SQLite3. Use only columns that are present in the table, always use quotes around your column and table names (some column names have punctuation or special characters), and refer to the columns using the column-names exactly as they appear in the table, do not add or remove punctuation (underscore, slash, etc.)

No explanation, return the code only with the following markdown codeblock format : ```sql<SQL CODE>```. For example, ```sql
SELECT * FROM "table"
``` is a valid format.

Table:
|   Year | Competition Description   | Location               | Apparatus      |   Rank-Final |
|-------:|:--------------------------|:-----------------------|:---------------|-------------:|
|   2008 | u.s. championships        | boston                 | floor exercise |            3 |
|   2008 | u.s. championships        | boston                 | all-around     |            7 |
|   2008 | u.s. championships        | boston                 | uneven bars    |            8 |
|   2008 | u.s. olympic team trials  | philadelphia           | floor exercise |            6 |
|   2008 | u.s. olympic team trials  | philadelphia           | all-around     |            7 |
|   2008 | u.s. olympic team trials  | philadelphia           | vault          |            9 |
|   2008 | u.s. olympic team trials  | philadelphia           | uneven bars    |            9 |
|   2008 | u.s. olympic team trials  | philadelphia           | balance beam   |           11 |
|   2008 | gymnix international      | montreal, quebec       | team           |            1 |
|   2008 | gymnix international      | montreal, quebec       | all-around     |            2 |
|   2008 | gymnix international      | montreal, quebec       | uneven bars    |            3 |
|   2010 | covergirl classic         | chicago, illinois      | all-around     |            1 |
|   2010 | covergirl classic         | chicago, illinois      | floor exercise |            2 |
|   2010 | u.s. championships        | hartford, connecticut  | all-around     |            2 |
|   2010 | u.s. championships        | hartford, connecticut  | floor exercise |            1 |
|   2010 | u.s. championships        | hartford, connecticut  | uneven bars    |            3 |
|   2010 | world championships       | rotterdam, netherlands | team           |            2 |

Question: What is the highest Year, when Apparatus is "Vault", and when Rank-Final is less than 9?

table_id: 2-18066166-1
label: SELECT MAX("Year") FROM "table" WHERE "Apparatus" = "vault" AND "Rank-Final" < 9