91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中七種JOIN的SQL是怎樣的

發布時間:2021-11-29 11:00:30 來源:億速云 閱讀:147 作者:柒染 欄目:數據庫

這篇文章將為大家詳細講解有關MySQL中七種JOIN的SQL是怎樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

準備數據

以一個簡易問答系統為例,包括問題表和問題所屬標簽,問題表如下:

CREATE TABLE `t_qa` (   `id` bigint(20) NOT NULL AUTO_INCREMENT,   `title` varchar(200) NOT NULL DEFAULT '' COMMENT '標題',   `answer_count` int(5) unsigned NOT NULL DEFAULT '0' COMMENT '回答個數',   `label_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '標簽id',   `create_by` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '創建人',   `create_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '創建時間',   `update_by` bigint(20) unsigned DEFAULT NULL COMMENT '更新人',   `update_date` datetime DEFAULT NULL COMMENT '更新時間',   `del_flag` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0:不刪除,1:刪除',   PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  INSERT INTO `t_qa` (`id`, `title`, `answer_count`, `label_id`, `create_by`, `create_date`, `update_by`, `update_date`, `del_flag`) VALUES     (1, 'Java是什么?', 5, 1, 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0),     (2, 'PHP是什么?', 4, 2, 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0),     (3, '前端是什么?', 3, 3, 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0),     (4, 'nodejs是什么?', 2, 0, 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0),     (5, 'css是什么?', 1, 0, 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0),     (6, 'JavaScript是什么?', 0, 0, 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0);

標簽表如下:

CREATE TABLE `t_label` (   `id` bigint(20) NOT NULL AUTO_INCREMENT,   `name` varchar(50) NOT NULL DEFAULT '' COMMENT '名稱',   `create_by` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '創建人',   `create_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '創建時間',   `update_by` bigint(20) unsigned DEFAULT NULL COMMENT '更新人',   `update_date` datetime DEFAULT NULL COMMENT '更新時間',   `del_flag` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0:不刪除,1:刪除',   PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  INSERT INTO `t_label` (`id`, `name`, `create_by`, `create_date`, `update_by`, `update_date`, `del_flag`) VALUES     (1, 'java', 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0),     (2, 'php', 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0),     (3, '大前端', 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0),     (4, 'mybatis', 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0),     (5, 'python', 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0),     (6, '多線程', 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0);

一、左連接(LEFT JOIN)

MySQL中七種JOIN的SQL是怎樣的

問題回答個數標簽id標簽名稱
Java是什么?51java
PHP是什么?42php
前端是什么?33大前端
nodejs是什么?2NULLNULL
css是什么?1NULLNULL
JavaScript是什么?1NULLNULL
SELECT      tq.title, tq.answer_count, tl.id, tl.name FROM      t_qa tq LEFT JOIN t_label tl ON tq.label_id = tl.id

二、右連接(RIGHT JOIN)

MySQL中七種JOIN的SQL是怎樣的

問題回答個數標簽id標簽名稱
Java是什么?51java
PHP是什么?42php
前端是什么?33大前端
NULLNULL4mybatis
NULLNULL5python
NULLNULL6多線程
SELECT     tq.title, tq.answer_count, tl.id, tl.name FROM      t_qa tq RIGHT JOIN t_label tl ON tq.label_id = tl.id

三、內連接(INNER JOIN)

MySQL中七種JOIN的SQL是怎樣的

問題回答個數標簽id標簽名稱
Java是什么?51java
PHP是什么?42php
前端是什么?33大前端
SELECT      tq.title, tq.answer_count, tl.id, tl.name FROM      t_qa tq INNER JOIN t_label tl ON tq.label_id = tl.id

四、左獨有連接(LEFT JOIN)

MySQL中七種JOIN的SQL是怎樣的

問題回答個數標簽id標簽名稱
nodejs是什么?2NULLNULL
css是什么?1NULLNULL
JavaScript是什么?0NULLNULL
SELECT      tq.title, tq.answer_count, tl.id, tl.name FROM      t_qa tq LEFT JOIN t_label tl ON tq.label_id = tl.id WHERE     tl.id IS NULL

五、右獨有連接(RIGHT JOIN)

MySQL中七種JOIN的SQL是怎樣的

問題回答個數標簽id標簽名稱
NULLNULL4mybatis
NULLNULL5python
NULLNULL6多線程
SELECT      tq.title, tq.answer_count, tl.id, tl.name FROM      t_qa tq RIGHT JOIN t_label tl ON tq.label_id = tl.id WHERE     tq.label_id IS NULL

六、全連接(FULL JOIN)

MySQL中七種JOIN的SQL是怎樣的

由于MySQL不支持FULL OUTER JOIN,所以如果有全連接需求時,可用表達式:full outer join = left outer join  UNION right outer join來實現。

問題回答個數標簽id標簽名稱
Java是什么?51java
PHP是什么?42php
前端是什么?33大前端
nodejs是什么?2NULLNULL
css是什么?1NULLNULL
JavaScript是什么?0NULLNULL
NULLNULL4mybatis
NULLNULL5python
NULLNULL6多線程
SELECT tq.title, tq.answer_count, tl.id, tl.name FROM t_qa tq LEFT JOIN t_label tl ON tq.label_id = tl.id UNION SELECT tq.title, tq.answer_count, tl.id, tl.name FROM t_qa tq RIGHT JOIN t_label tl ON tq.label_id = tl.id

七、全連接去交集(FULL JOIN)

MySQL中七種JOIN的SQL是怎樣的

問題回答個數標簽id標簽名稱
nodejs是什么?2NULLNULL
css是什么?1NULLNULL
JavaScript是什么?0NULLNULL
NULLNULL4mybatis
NULLNULL5python
NULLNULL6多線程
SELECT tq.title, tq.answer_count, tl.id, tl.name FROM t_qa tq LEFT JOIN t_label tl ON tq.label_id = tl.id WHERE tl.id IS NULL UNION SELECT tq.title, tq.answer_count, tl.id, tl.name FROM t_qa tq RIGHT JOIN t_label tl ON tq.label_id = tl.id WHERE tq.label_id IS NULL

關于MySQL中七種JOIN的SQL是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

张家口市| 离岛区| 基隆市| 黑龙江省| 商城县| 吐鲁番市| 瓦房店市| 临汾市| 华安县| 松原市| 阿拉善盟| 花莲市| 竹北市| 常熟市| 阿坝| 吉水县| 巴林右旗| 萨嘎县| 漠河县| 广灵县| 福建省| 西安市| 民丰县| 尚义县| 厦门市| 调兵山市| 宣汉县| 静宁县| 清徐县| 承德县| 手游| 唐山市| 荃湾区| 蒲城县| 永德县| 增城市| 三明市| 鄯善县| 大竹县| 延吉市| 新民市|