USE dbName;
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE (TABLE_SCHEMA = 'dbName' OR TABLE_SCHEMA = 'schemaName')
ORDER BY TABLE_NAME
Nếu bạn đang làm việc với nhiều lược đồ trên máy chủ MS SQL, thì CHỌN TABLE_NAME mà không đồng thời chọn TABLE_SCHema có thể có lợi ích hạn chế, vì vậy tôi đã giả sử rằng chúng tôi quan tâm đến các bảng thuộc một lược đồ đã biết khi sử dụng MS SQL Server.
Tôi đã kiểm tra truy vấn ở trên với SQL Server Management Studio bằng cơ sở dữ liệu SQL Server của tôi và với MySQL Workbench bằng cơ sở dữ liệu MySQL và trong cả hai trường hợp, nó đều cung cấp tên bảng.
Truy vấn kết hợp hai truy vấn khác nhau của Michael Baylon thành một truy vấn có thể chạy trên cả hai loại cơ sở dữ liệu. Phần đầu tiên của mệnh đề WHERE hoạt động trên cơ sở dữ liệu MySQL và phần thứ hai (sau OR) hoạt động trên cơ sở dữ liệu MS SQL Server. Thật là xấu xí và logic một chút không chính xác vì nó cho rằng không có lược đồ không mong muốn có cùng tên với cơ sở dữ liệu. Điều này có thể giúp ai đó đang tìm kiếm một truy vấn duy nhất có thể chạy trên một trong hai máy chủ cơ sở dữ liệu.