舉個簡單的執行個體 分别建立三張表 分别是使用者基本資訊表 教師擴充資訊表 學生擴充資訊表 見表語句如下 使用者基本資訊表中的user_type 的字段相當于外鍵 如果使用者資訊代表的是學生 則是學生Id 如果使用者基本資訊代表的是老師 則表示的教師Id ,教師資訊表中的Id是自增類型的 學生資訊表中的id是字元串類型用UUID生成(這裡隻是舉這麼個例子 不喜勿噴 實際運用中不這麼做) 以下分别是三張表的建表語句
使用者資訊表:
Sql查詢inner join on 後面的等于号兩邊資料類型不一緻 需要使用cast 或者 convert進行類型強轉換 使用者基本資訊插入:
Sql查詢inner join on 後面的等于号兩邊資料類型不一緻 需要使用cast 或者 convert進行類型強轉換 學生資訊拓展表
Sql查詢inner join on 後面的等于号兩邊資料類型不一緻 需要使用cast 或者 convert進行類型強轉換 教師資訊表:
Sql查詢inner join on 後面的等于号兩邊資料類型不一緻 需要使用cast 或者 convert進行類型強轉換 教師表插入資訊如下
Sql查詢inner join on 後面的等于号兩邊資料類型不一緻 需要使用cast 或者 convert進行類型強轉換 當我們查教師資訊的時候 用簡單的inner join 會出現緻命的錯誤 具體情況如下
Sql查詢inner join on 後面的等于号兩邊資料類型不一緻 需要使用cast 或者 convert進行類型強轉換 當我們查詢教師資訊的時候 需要進行如下類型的轉換 cast(t.id as char) 或者 convert(t.id, char) 而不能直接inner join
Sql查詢inner join on 後面的等于号兩邊資料類型不一緻 需要使用cast 或者 convert進行類型強轉換 以下争對這個業務的三個 sql 第一種是錯誤的 隻有後面兩種才是正确的
Sql查詢inner join on 後面的等于号兩邊資料類型不一緻 需要使用cast 或者 convert進行類型強轉換 總結一下 當我們在實際開發中遇到這種類型不一緻的進行關聯的時候 一定要記得做強類型轉換 否則都不知道會發生什麼