課程
/數據庫
/MySQL
/MySQL開發技巧(一)
都不介紹左表和右表的定義嗎?找這么講左連接和右連接是一樣的我只需要把表調個位置就好了?能具體說明一下的嗎
2018-04-20
源自:MySQL開發技巧(一) 2-3
正在回答
按照道理來說是這樣的,但是如果你左右表寫反了,改左右連接會更加方便快捷。
-- 注意自己是否需要建庫
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 表數據
insert into user1(user_name,over1) values ('唐僧', '旃檀功德佛');
insert into user1(user_name,over1) values ('豬八戒', '凈壇使者');
insert into user1(user_name,over1) values ('孫悟空', '斗戰勝佛');
insert into user1(user_name,over1) values ('沙僧', '金身羅漢');
-- 插入 user2 表數據
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 表數據
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 關鍵字會從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒有匹配的行。
? ? ? ? ? RIGHT JOIN 關鍵字會右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中沒有匹配的行。
舉報
DBA和開發人員都必備的技能,SQL技巧一個好程序員必備技能
1 回答多表之間左外關連
3 回答左右連接的關系
1 回答left join 是否左表數據百萬時, 效率極低
2 回答完整的a表、b表長什么樣子?
2 回答兩張 表的字段和數據可否提供
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-10-09
按照道理來說是這樣的,但是如果你左右表寫反了,改左右連接會更加方便快捷。
2018-07-02
-- 注意自己是否需要建庫
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 表數據
insert into user1(user_name,over1) values ('唐僧', '旃檀功德佛');
insert into user1(user_name,over1) values ('豬八戒', '凈壇使者');
insert into user1(user_name,over1) values ('孫悟空', '斗戰勝佛');
insert into user1(user_name,over1) values ('沙僧', '金身羅漢');
-- 插入 user2 表數據
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 表數據
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 關鍵字會從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒有匹配的行。
? ? ? ? ? RIGHT JOIN 關鍵字會右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中沒有匹配的行。