In SQL you do not specify how to do things (in contrary to languages like Java, C#, VB); instead you specify what the result should be. Example, "I want all students with grade A"
SELECT * FROM students WHERE grade = 'A'
This is a very simple situation; however in complex queries the database engine often does not know what the best way to perform the query would be. If you know, for instance, that a certain index would speed up the query much better than another one, you can give a hint, and tell the database engine to use this index.
This is not a standard way of writing SQL statements. It is an advanced technique for tuning slow queries. If you are new to SQL programming, you can safely ignore these hints to begin with.
A completely different example is the rendering of vector based fonts (like TrueType fonts). Rendering involves converting the vector based description of the shape of a character to a pixel pattern. A problem might occur if you render an "m" for instance. Depending on the resulting size, the two arcs of the "m" could get a different width, because of rounding effects. If the resulting width of the "m" has an even number of pixels, the two arcs cannot have the same width. Therefore the description of the "m" has a HINT, which tells the renderer to make the left and the right arc the same with. If the calculated width would measure 8 pixels, for instance, the renderer decides to make it either 7 or 9 pixels wide.
Three "m"s with 8, 9 and 7 pixels width
0·00·00· 0·00··00· 000·00·
00··0··0 00··00··0 0··0··0
0···0··0 0···0···0 0··0··0