課程
/數(shù)據(jù)庫(kù)
/MySQL
/MySQL開發(fā)技巧(一)
都不介紹左表和右表的定義嗎?找這么講左連接和右連接是一樣的我只需要把表調(diào)個(gè)位置就好了?能具體說明一下的嗎
2018-04-20
源自:MySQL開發(fā)技巧(一) 2-3
正在回答
按照道理來說是這樣的,但是如果你左右表寫反了,改左右連接會(huì)更加方便快捷。
-- 注意自己是否需要建庫(kù)
create database if not exists mysqldv1;
use mysqldv1;?
?
-- 新建 user1 表?
create table if not exists user1(
? id smallint unsigned primary key auto_increment,?
? user_name varchar(40),?
? over1 varchar(40)
);
-- 新建 user2 表
create table if not exists user2 (
? id smallint unsigned primary key auto_increment,
? user_name varchar(40),
-- 新建 user_kills 表
create table if not exists user_kills (
? user_id smallint unsigned,
? timestr timestamp default CURRENT_TIMESTAMP,
? kills smallint unsigned
-- 插入 user1 表數(shù)據(jù)
insert into user1(user_name,over1) values ('唐僧', '旃檀功德佛');
insert into user1(user_name,over1) values ('豬八戒', '凈壇使者');
insert into user1(user_name,over1) values ('孫悟空', '斗戰(zhàn)勝佛');
insert into user1(user_name,over1) values ('沙僧', '金身羅漢');
-- 插入 user2 表數(shù)據(jù)
insert into user2(user_name,over1) values ('孫悟空', '成佛');
insert into user2(user_name,over1) values ('牛魔王', '被降服');
insert into user2(user_name,over1) values ('蛟魔王', '被降服');
insert into user2(user_name,over1) values ('鵬魔王', '被降服');
insert into user2(user_name,over1) values ('獅駝王', '被降服');
-- 插入 user_kills 表數(shù)據(jù)
insert into user_kills(user_id, timestr, kills) values (2, timestamp('2013-01-10'), 10);
insert into user_kills(user_id, timestr, kills) values (2, timestamp('2013-02-01'), 2);
insert into user_kills(user_id, timestr, kills) values (2, timestamp('2013-02-05'), 12);
insert into user_kills(user_id, timestr, kills) values (4, timestamp('2013-01-10'), 3);
insert into user_kills(user_id, timestr, kills) values (4, timestamp('2013-02-11'), 5);
insert into user_kills(user_id, timestr, kills) values (2, timestamp('2013-02-06'), 1);
insert into user_kills(user_id, timestr, kills) values (3, timestamp('2013-01-11'), 20);
insert into user_kills(user_id, timestr, kills) values (2, timestamp('2013-02-12'), 10);
insert into user_kills(user_id, timestr, kills) values (3, timestamp('2013-02-07'), 17);
? LEFT JOIN 關(guān)鍵字會(huì)從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒有匹配的行。
? ? ? ? ? RIGHT JOIN 關(guān)鍵字會(huì)右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中沒有匹配的行。
舉報(bào)
DBA和開發(fā)人員都必備的技能,SQL技巧一個(gè)好程序員必備技能
1 回答多表之間左外關(guān)連
3 回答左右連接的關(guān)系
1 回答left join 是否左表數(shù)據(jù)百萬時(shí), 效率極低
2 回答完整的a表、b表長(zhǎng)什么樣子?
2 回答兩張 表的字段和數(shù)據(jù)可否提供
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-10-09
按照道理來說是這樣的,但是如果你左右表寫反了,改左右連接會(huì)更加方便快捷。
2018-07-02
-- 注意自己是否需要建庫(kù)
create database if not exists mysqldv1;
use mysqldv1;?
?
-- 新建 user1 表?
create table if not exists user1(
? id smallint unsigned primary key auto_increment,?
? user_name varchar(40),?
? over1 varchar(40)
);
-- 新建 user2 表
create table if not exists user2 (
? id smallint unsigned primary key auto_increment,
? user_name varchar(40),
? over1 varchar(40)
);
-- 新建 user_kills 表
create table if not exists user_kills (
? id smallint unsigned primary key auto_increment,
? user_id smallint unsigned,
? timestr timestamp default CURRENT_TIMESTAMP,
? kills smallint unsigned
);
-- 插入 user1 表數(shù)據(jù)
insert into user1(user_name,over1) values ('唐僧', '旃檀功德佛');
insert into user1(user_name,over1) values ('豬八戒', '凈壇使者');
insert into user1(user_name,over1) values ('孫悟空', '斗戰(zhàn)勝佛');
insert into user1(user_name,over1) values ('沙僧', '金身羅漢');
-- 插入 user2 表數(shù)據(jù)
insert into user2(user_name,over1) values ('孫悟空', '成佛');
insert into user2(user_name,over1) values ('牛魔王', '被降服');
insert into user2(user_name,over1) values ('蛟魔王', '被降服');
insert into user2(user_name,over1) values ('鵬魔王', '被降服');
insert into user2(user_name,over1) values ('獅駝王', '被降服');
-- 插入 user_kills 表數(shù)據(jù)
insert into user_kills(user_id, timestr, kills) values (2, timestamp('2013-01-10'), 10);
insert into user_kills(user_id, timestr, kills) values (2, timestamp('2013-02-01'), 2);
insert into user_kills(user_id, timestr, kills) values (2, timestamp('2013-02-05'), 12);
insert into user_kills(user_id, timestr, kills) values (4, timestamp('2013-01-10'), 3);
insert into user_kills(user_id, timestr, kills) values (4, timestamp('2013-02-11'), 5);
insert into user_kills(user_id, timestr, kills) values (2, timestamp('2013-02-06'), 1);
insert into user_kills(user_id, timestr, kills) values (3, timestamp('2013-01-11'), 20);
insert into user_kills(user_id, timestr, kills) values (2, timestamp('2013-02-12'), 10);
insert into user_kills(user_id, timestr, kills) values (3, timestamp('2013-02-07'), 17);
2018-04-20
? LEFT JOIN 關(guān)鍵字會(huì)從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒有匹配的行。
? ? ? ? ? RIGHT JOIN 關(guān)鍵字會(huì)右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中沒有匹配的行。