上記の文をどのように理解すればよいでしょうか。たとえば、単に select * from info where 部門='部門値パラメータ' および ename='従業員名パラメータ' としてパラメータを受け取るクエリ ステートメントを記述した場合、 if パラメータが空の場合、 select * from info where 部門='技術部門' および ename='' が返されます。このクエリ ステートメントの意味はすべてをクエリすることであるため、明らかに、このようなクエリは空の結果を返す可能性があります。一方、select * from info where education='' and ename='sunec' の場合、名前が sunec である従業員をクエリすることになります。もちろん、どの部署に所属しても成果は得られません。
正しいアプローチは、クエリ ステートメントで null 値を含むパラメーターをフィルターで除外することです。たとえば、部門名のみを入力した場合、 select * from info where 部門='技術部門' を取得する必要があります。このように、クエリ ステートメントの意味は、すべての部門の技術部門の従業員の情報をクエリすることになります。