図1ではクライアントからWebサーバーに、まずリクエストが飛びます(1)。Webサーバーはこれに合わせ、list.cgiを開いて実行します(2)。このlist.cgi、大抵はPerlやPHPで記述されているわけですが、図の中にあるのはPerlの場合の記述です。“Select Name From SomeTable”という文言がSQLの命令で、Perlはこの文字列をそのままSQLサーバーに渡します(3)。
さて、こうしたlist.cgiが存在する場合に、Webブラウザから“http://www.hogehoge.hoge/list.cgi?ID=hoge;Delete * from SomeTable”というURLを送るとどうなるかというと、list.cgiはこれを律儀に解釈して“Select Name From SomeTable where id=hoge;Delete * from SomeTable”というURLをデータベースサーバーに発行します。データベースサーバーはこれを受け取り、まず“;”の前のSelect文を実行したあと、“;”のあとに従ってSomeTableの内容を全部削除します。