国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

sql中where和on的區別

2019-11-09 13:37:33
字體:
來源:轉載
供稿:網友
最近在做公司項目,遇到一個棘手的問題,在根據試題id查詢試題選項的時候需要查詢他對應的關聯的能力,但是如果沒有在關聯表中不存在選項和能力的關系,選項也會查詢不出來。有問題的sql: SELECT exam_options.id, exam_options.QST_ID, exam_options.OPT_CONTENT, exam_options.OPT_ORDER, exam_options.OPT_ANSWER, exam_options.ADDTIME, exam_options.OPT_ANALYZE, exam_options.OPT_MASTER, edu_question_ability_relation.id, edu_question_ability_relation.abilityName, edu_question_ability_relation.abilityId FROM exam_options,edu_question_ability_relation where edu_question_ability_relation.optionId=exam_options.id AND edu_question_ability_relation.questionId=exam_options.QST_ID <if test="qstId!=null and qstId!=0"> AND exam_options.QST_ID = #{qstId} </if> 修改后sql: SELECT exam_options.id, exam_options.QST_ID, exam_options.OPT_CONTENT, exam_options.OPT_ORDER, exam_options.OPT_ANSWER, exam_options.ADDTIME, exam_options.OPT_ANALYZE, exam_options.OPT_MASTER, edu_question_ability_relation.id, edu_question_ability_relation.abilityName, edu_question_ability_relation.abilityId FROM exam_options,edu_question_ability_relation where edu_question_ability_relation.optionId=exam_options.id AND edu_question_ability_relation.questionId=exam_options.QST_ID <if test="qstId!=null and qstId!=0"> AND exam_options.QST_ID = #{qstId} </if> 對于入場不久的小白,其間經歷了各種嘗試,左連接也用過,還是不行,最后經過強大的百度,看別人寫的代碼,試了試才明白原來where和on不是一回事。

在使用left join時,on and和on where條件的區別如下(以下內容為復制): 1、on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。 2、where條件是在臨時表生成好后,再對臨時表進行過濾的條件。這時已經沒有left join的含義(必須返回左邊表的記錄)了,條件不為真的就全部過濾掉,on后的條件用來生成左右表關聯的臨時表,where后的條件對臨時表中的記錄進行過濾


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新邵县| 澄江县| 乡宁县| 吴江市| 双城市| 全州县| 格尔木市| 崇仁县| 安宁市| 姚安县| 江阴市| 金昌市| 彭州市| 桐柏县| 辽中县| 临夏县| 文登市| 抚松县| 江口县| 漳浦县| 黔西县| 黔南| 祁连县| 肃宁县| 衡山县| 彝良县| 华亭县| 正定县| 桂东县| 清新县| 桂平市| 吉首市| 岳西县| 济宁市| 会理县| 辽源市| 治县。| 南开区| 镇平县| 泌阳县| 琼海市|