sql基础语句(联表查询)

sql基础语句(联表查询)

SQL联表查询

1、创建数据库、表

-- 创建一个测试的数据库
create database test charset = utf8;
-- 选择切换到这个数据库
use test;
-- 创建一个学生表
create table student(
stuid integer auto_increment primary key, -- 学生编号 数据类型 自增 主键
stuname varchar(50) not null,			  -- 学生姓名 数据类型 非空
stusex varchar(10) default '男',          -- 学生性别 数据类型 默认男
stuage integer default 18,                -- 学生年龄 数据类型 默认18岁
tid integer references teather(tid)       -- 教师编号 数据类型 外键(通过tid来进行连接)         
);
-- 创建一个教师表
create table teather(
tid integer auto_increment primary key,   -- 教师编号 数据类型 自增 主键
tname varchar(50) not null,				  -- 教师姓名 数据类型 非空
tage integer default 22					  -- 教师年龄 数据类型 默认22岁
);

数据库、表

插入数据

-- 插入几条数据 
-- 插入学生表
insert into student(stuname,tid) values("张一",1);
insert into student(stuname,tid) values("张二",2);
insert into student(stuname,tid) values("张三",3);
insert into student(stuname,tid) values("张四",1);
insert into student(stuname,tid) values("张五",2);
insert into student(stuname,tid) values("张六",3);
insert into student(stuname,tid) values("张七",1);
insert into student(stuname,tid) values("张八",2);
insert into student(stuname,tid) values("张九",3);
-- 插入教师表
insert into teather(tname) values("王大");
insert into teather(tname) values("王二");
insert into teather(tname) values("王三");

插入数据

查询

-- 查询 
-- select 所有 from 所要查询的表 where 条件(通过外键进行关联)
select * from student,teather where student.tid = teather.tid;
-- select 表名.列名(因为表较多的时候字段有冲突,所以要表名点要查询的列名)...from 所要查询的表 where 条件(通过外键进行关联)
select student.stuname 学生姓名,student.stusex 学生性别,teather.tname 教师姓名 from student,teather where student.tid = teather.tid;

联表查询
联表查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值