mysql语句查询俩张表相同的数据
时间: 2024-05-10 10:20:55 浏览: 9
假设有表A和表B,且它们有一个共同的字段id,以下是查询表A和表B中id相同的数据的MySQL语句:
```
SELECT A.*, B.* FROM A INNER JOIN B ON A.id = B.id;
```
其中,A.*和B.*表示查询A和B表中的所有字段,INNER JOIN表示内连接,ON后面的条件表示连接条件,即A表和B表中id相同的数据会被查询出来。
相关问题
mysql 如何查询哪张表的数据量最大
要查询 MySQL 数据库中哪张表的数据量最大,可以使用以下 SQL 查询语句:
```
SELECT table_name, table_rows
FROM information_schema.tables
WHERE table_schema = 'your_database_name'
ORDER BY table_rows DESC
LIMIT 1;
```
其中,`your_database_name` 是您要查询的数据库名称。这条 SQL 查询语句会从 `information_schema.tables` 系统表中查询指定数据库中所有表的行数,并按照行数从大到小进行排序。最后,只返回行数最多的一张表的表名和行数。
如果您想查询所有表的行数,而不仅仅是其中一张表,可以去掉 `LIMIT 1` 部分。这样,将会返回所有表的行数,按照行数从大到小排序。
需要注意的是,这个查询结果可能会受到多种因素的影响,例如表的数据类型、索引、数据分布等等。因此,这个查询结果仅供参考,不能作为绝对的数据量大小参考。
mysql3张表联合查询批量插入数据语句
假设三张表分别为table1、table2、table3,它们的结构和数据如下:
table1:
| id | name | age |
|----|-------|-----|
| 1 | Alice | 25 |
| 2 | Bob | 30 |
table2:
| id | city |
|----|----------|
| 1 | New York |
| 2 | London |
table3:
| id | job |
|----|-------------|
| 1 | Programmer |
| 2 | Teacher |
现在需要将这三张表的数据联合起来插入到一个新的表中,新表的结构为:
new_table:
| id | name | age | city | job |
|----|-------|-----|----------|-------------|
| | | | | |
可以使用如下SQL语句进行批量插入:
INSERT INTO new_table (id, name, age, city, job)
SELECT t1.id, t1.name, t1.age, t2.city, t3.job
FROM table1 t1
JOIN table2 t2 ON t1.id = t2.id
JOIN table3 t3 ON t1.id = t3.id;
执行以上SQL语句后,新表new_table中的数据如下:
| id | name | age | city | job |
|----|-------|-----|----------|-------------|
| 1 | Alice | 25 | New York | Programmer |
| 2 | Bob | 30 | London | Teacher |