SQL may be used by direct invocation or in conjunction with a programming language. When invoking SQL directly, the methods used to accomplish the invocation and return results are implementation-defined. Not all SQL statements may be invoked directly. Those statements that can be invoked directly are referred to as direct SQL statements.
SQL does not have control statements, i.e., statements which control program flow, such as, branch-on-condition statements and looping statements. Consequently, SQL is commonly used with other languages that do have control statements. SQL'92 specifies how SQL may be used in conjunction with the standard programming languages Ada, C, COBOL, Fortran, MUMPS, Pascal, and PL/I. SQL is used with a programming language in two ways: by means of modules or by means of embedding.