您好,登錄后才能下訂單哦!
本篇內容介紹了“如何解決MySQL左連接問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
兩張表,一張user表,一張user_log表
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `user_log` ( `id` int(10) NOT NULL, `user_id` int(10) NOT NULL, `log_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `message` varchar(30) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `user` VALUES ('1', 'wang'); INSERT INTO `user` VALUES ('2', 'meng'); INSERT INTO `user` VALUES ('3', 'zhang'); -- ---------------------------- -- Records of user_log -- ---------------------------- INSERT INTO `user_log` VALUES ('1', '1', '2017-07-20 13:13:07', 'some data'); INSERT INTO `user_log` VALUES ('2', '1', '2017-07-27 13:13:07', 'some data'); INSERT INTO `user_log` VALUES ('3', '1', '2017-07-28 13:13:07', 'some data'); INSERT INTO `user_log` VALUES ('4', '1', '2017-08-26 13:11:31', 'some data'); INSERT INTO `user_log` VALUES ('5', '1', '2017-08-26 17:11:31', 'some data'); INSERT INTO `user_log` VALUES ('6', '1', '2017-08-27 13:11:31', 'some data');
這樣就可以了
SELECT U.*, UL.LOG_TIME, UL.MESSAGE FROM USER U LEFT JOIN USER_LOG UL ON U.ID = UL.USER_ID AND (UL.LOG_TIME > '2017-09-01 07:13:07' OR UL.LOG_TIME IS NULL) WHERE U.ID = 1;
把and放到left join on后面就可以了。
“如何解決MySQL左連接問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。