sql多表查询(左连接,右连接,内连接)(联合查询)
use test;
# 创建学员信息表(字段名:学号,学员姓名,年龄)
create table 学员信息表(
学号 varchar(5),
学员姓名 varchar(10),
年龄 int
);
# 为学员信息表导入数据(数据表为xyxx.CSV)infile后为文件所在的完整路径(注意中间不能有中文。
load data local infile 'C:/xunleixiazai/MySQL/xyxx.csv'
into table 学员信息表
fields terminated by ','
ignore 1 lines;
-- 创建学员成绩表(字段名称:学号,成绩)
create table 学员成绩表(
学号 varchar(5),
成绩 int
);
-- 为学员成绩表导入数据(数据表名为:xycj.csv)
load data local infile 'C:/xunleixiazai/MySQL/xycj.csv'
into table 学员成绩表
fields terminated by ','
ignore 1 lines;
-- 内连接
select 学员信息表.*, 学员成绩表.*
from 学员信息表 inner join 学员成绩表 on 学员信息表.学号 = 学员成绩表.学号;
-- 左连接
select 学员信息表.*, 学员成绩表.*
from 学员信息表 left join 学员成绩表 on 学员信息表.学号 = 学员成绩表.学号;
-- 右连接
select 学员信息表.*, 学员成绩表.*
from 学员信息表 right join 学员成绩表 on 学员信息表.学号 = 学员成绩表.学号;
-- 纵向合并练习
# 创建数据表t1(字段名称:key1,v1,设定数据类型)
create table t1(
key1 varchar(20),
v1 int(4)
);
# 为t1表导入数据(数据表为t1.CSV)infile后为文件所在的完整路径(注意中间不能有中文。)
load data local infile 'C:/xunleixiazai/MySQL/t1.csv'
into table t1
fields terminated by ','
ignore 1 lines;
# 创建数据表t2(字段名称:key2,v2,设定数据类型)
create table t2(
key2 varchar(20),
v2 int(4)
);
# 为t2表导入数据(数据表为t2.CSV)infile后为文件所在的完整路径(注意中间不能有中文。)
load data local infile 'C:/xunleixiazai/MySQL/t2.csv'
into table t2
fields terminated by ','
ignore 1 lines;
-- 用union合并t1与t2表(合并行,纵向合并,纵向联结)(剔除重复行)
select t1.* from t1
union
select t2.* from t2;
-- 用union all合并t1与t2表(合并行,纵向合并,纵向联结)(保留重复行)
select t1.* from t1
union all
select t2.*from t2;



select t2.* from t
浙公网安备 33010602011771号