博客
关于我
MySQL的select多表查询
阅读量:345 次
发布时间:2019-03-04

本文共 1299 字,大约阅读时间需要 4 分钟。

select 语句:

select 语句一般用法为: select 字段名 from tb_name where 条件 ;

select 查询语句类型一般分为三种: 
单表查询,多表查询,子查询

最简单的单表查询 : select * from tb_name; 
*表示,所有字段

查询特定字段(投影): 
select 字段名1,字段名2, from tb_name;

where 语句过滤查询(选择)

select * from tb_name where 条件 ;

 

使用SELECT子句进行多表查询

SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件


SELECT a.id,a.name,a.address,a.date,b.math,b.english,b.chinese FROM tb_demo065_tel AS b,tb_demo065 AS a WHERE a.id=b.id
注:在上面的的代码中,以两张表的id字段信息相同作为条件建立两表关联,但在实际开发中不应该这样使用,最好用主外键约束来实现

首先创建一个数据库

学生人数表

学生成绩表

显示每个学生的对应的成绩

方法一:

mysql> select students.number,students.name,students.sex,course.math,course.english,course.chinese     -> from students inner join course    -> on students.number=course.number;

方法二:

mysql> select students.number,students.name,students.sex,course.math,course.english,course.chinese    -> from students,course    -> where students.number=course.number;

 

根据学号排名升序输出成绩

mysql> select students.number as 学号,students.name as 姓名,course.math as 数学,course.english as 英语,course.chinese as 语文 from students,course where students.number=course.number  order by students.number;

 

求学生的总成绩,并显示出来,成绩按降序排列

mysql> select students.number as 学号,students.name as 姓名,(course.math+course.english +course.chinese) as 总成绩 from students,course where students.number=course.number  order by 总成绩 desc;

 

 

转载地址:http://xidr.baihongyu.com/

你可能感兴趣的文章
JS数据结构--单向链表--常见操作
查看>>
【SSL】1606&【洛谷】P2014选课
查看>>
JS数据结构--双向链表--常见操作
查看>>
全排列(深度优先搜索+递归)
查看>>
多项式插值法的Python程序
查看>>
vue.js常用指令及用法
查看>>
vuex的核心概念和运行机制
查看>>
SSLOJ1692 USACO 3.2 Magic Squares 魔板&P2730
查看>>
P4305 [JLOI2011]不重复数字
查看>>
在Ubuntu上安装GCC编译器
查看>>
暴打算法:王者级数据结构与LeetCode笔记,一路绿灯杀进字节Java岗
查看>>
限时开源!公布半小时下载量达10W:阿里大牛出品「MyCat笔记」
查看>>
阿里Java全线成长宝典,从P5到P8一应俱全
查看>>
js:虚拟dom与diff算法
查看>>
计算机系统原理——cachelab 实验1(第一周)
查看>>
JAVA初窥-DAY07
查看>>
数组--Go语言学习笔记
查看>>
Redis (三)——Linux 上安装 Redis
查看>>
Redis踩坑(1)-----配置文件redis.conf修改后不生效问题
查看>>
从零带你学习Go语言:23、 Go指针 、切片、 map、 结构体复习
查看>>