MYSQL多表查询

select查询不但能从一张表中查询数据,还能进行多表查询

语法

select * from <表1><表2>

这种一次性查询二个表的数据,结果也为二维表(即知道行号列号就可以确定一个表中的数据)

首先我们观察表单独查询的数据和多表查询后的变化

SELECT * FROM `t_user`
-- 结果
id	loginName	loginPwd	realName
1	zhangsan	 123		张三
2	jack	  	 123		杰克
SELECT * FROM `testmd5`
-- 结果
id	NAME			pwd
1	zhangsan	e10adc3949ba59abbe56e057f20f883e
2	lisi		708574aadf1838a3c6bd6420bb70b4ae
3	wangwu		14e1b600b1fd579f47433b88e8d85291
4	小明		14e1b600b1fd579f47433b88e8d85291
SELECT * FROM `t_user`,`testmd5`
-- 多表结果
id	loginName	loginPwd	realName	id	name	pwd
1	zhangsan	123	    张三	1	zhangsan	e10adc3949ba59abbe56e057f20f883e
2	jack	    123	    杰克	1	zhangsan	e10adc3949ba59abbe56e057f20f883e
1	zhangsan	123	    张三	2	lisi	708574aadf1838a3c6bd6420bb70b4ae
2	jack	    123	    杰克	2	lisi	708574aadf1838a3c6bd6420bb70b4ae
1	zhangsan	123	    张三	3	wangwu	14e1b600b1fd579f47433b88e8d85291
2	jack	    123	    杰克	3	wangwu	14e1b600b1fd579f47433b88e8d85291
1	zhangsan	123    	张三	4	小明	14e1b600b1fd579f47433b88e8d85291
2	jack	    123	    杰克	4	小明	14e1b600b1fd579f47433b88e8d85291

 

我们不难发现:

1、多表查询的数据量是t_user,testmd5表的乘积

2、t_user,testmd5表的每一行都是有二个二个拼在一起返回的

 (ps:(猜测)小规律:select * from <先查询>,<后查询是不一样的> 先查询是将表按顺序(原封不动)循环输出,后查询则是每行输出x遍(总行数/自身行数=每行输出的行数) 如上表共8行 t_user循环输出,testmd5每行则输出2遍 8/4=2 )  

3、列数也是t_user,testmd5表列数之和

4、行数是之积

ps:数据量多的话这么查询得稳着点来

起别名:

1、字段别名

SELECT 
  `testmd5`.`name`
FROM `testmd5`

2、表别名

SELECT 
  t.`name`
FROM `testmd5` t

精减—加where

SELECT 
  t.`name`
FROM `testmd5` t
where xxx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值