あるユーザのテーブルの中で、特定の列名を持つテーブルを検索したい時の方法。
PostgreSQL編はこちら↓
www.k-hitorigoto.online
Oracleの場合
USER_TAB_COLUMNSを参照。
https://docs.oracle.com/cd/E49329_01/server.121/b71292/refrn20277.htm#I1020277
SELECT TABLE_NAME ,COLUMN_NAME FROM USER_TAB_COLUMNS WHERE COLUMN_NAME='DEPTNO' ORDER BY TABLE_NAME ,COLUMN_NAME ;
実行結果。SCOTTスキーマの場合。
| TABLE_NAME | COLUMN_NAME |
| DEPT | DEPTNO |
| EMP | DEPTNO |
SQLServerの場合
INFORMATION_SCHEMAを参照。
COLUMNS (Transact-SQL) - SQL Server | Microsoft Learn
SQLServerの場合、ユーザ名≠スキーマ名なので、スキーマ名も取得した。
SELECT TABLE_SCHEMA ,TABLE_NAME ,COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'NAME' ORDER BY TABLE_SCHEMA ,TABLE_NAME ,COLUMN_NAME ;
実行結果。AdventureWorksの場合。
| TABLE_SCHEMA | table_name | column_name |
| HumanResources | Department | Name |
| HumanResources | Shift | Name |
| Person | AddressType | Name |
| Person | ContactType | Name |
| Person | CountryRegion | Name |
| Person | PhoneNumberType | Name |
| Person | StateProvince | Name |
| Production | Culture | Name |
| Production | Location | Name |
| Production | Product | Name |
| Production | ProductCategory | Name |
| Production | ProductModel | Name |
| Production | ProductSubcategory | Name |
| Production | ScrapReason | Name |
| Production | UnitMeasure | Name |
| Production | vProductAndDescription | Name |
| Production | vProductModelCatalogDescription | Name |
| Production | vProductModelInstructions | Name |
| Purchasing | ShipMethod | Name |
| Purchasing | Vendor | Name |
| Purchasing | vVendorWithAddresses | Name |
| Purchasing | vVendorWithContacts | Name |
| Sales | Currency | Name |
| Sales | SalesReason | Name |
| Sales | SalesTaxRate | Name |
| Sales | SalesTerritory | Name |
| Sales | Store | Name |
| Sales | vStoreWithAddresses | Name |
| Sales | vStoreWithContacts | Name |
| Sales | vStoreWithDemographics | Name |