我有两个表table1和table2,我需要编写一个select查询,它将列出两个表中存在的列.(MySQL的)
我需要做不同的表(一次2个)
这可能吗?
我尝试过使用INFORMATION_SCHEMA.COLUMNS但是无法做到正确.
Wri*_*ken 15
SELECT a.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS a
JOIN INFORMATION_SCHEMA.COLUMNS b
ON a.COLUMN_NAME = b.COLUMN_NAME
AND b.TABLE_NAME = 'table2'
AND b.TABLE_SCHEMA = database() //or manually enter it
WHERE a.TABLE_NAME = 'table1'
AND a.TABLE_SCHEMA = database(); //or manually enter it
Run Code Online (Sandbox Code Playgroud)
如果有人需要相反的情况:
查找一个表中存在但在另一个表中缺失的所有列:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS a
WHERE a.TABLE_NAME = 'craft_content'
AND a.TABLE_SCHEMA = 'craftcms2'
AND a.COLUMN_NAME NOT IN (
SELECT b.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS b
WHERE b.TABLE_NAME = 'craft_content'
AND b.TABLE_SCHEMA = 'craftcms'
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9737 次 |
| 最近记录: |