What you want to do with the parsed SQL? I can recommend a few Java implementation of Lex/Yacc (BYACC/J, Java Cup) that you can use an existing SQL grammar with.
If you want to actually do something with the resulting parsed grammar, I might suggest looking at Derby, an open source SQL database written in Java.