USE dbName;
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE (TABLE_SCHEMA = 'dbName' OR TABLE_SCHEMA = 'schemaName')
ORDER BY TABLE_NAME
หากคุณกำลังทำงานกับหลาย schemata บนเซิร์ฟเวอร์ MS SQL ดังนั้น SELECT-ing TABLE_NAME โดยไม่ต้องเลือก TABLE_SCHEMA อาจมีประโยชน์ จำกัด พร้อมกันดังนั้นฉันคิดว่าเราสนใจตารางที่อยู่ใน schema ที่รู้จักเมื่อใช้ MS SQL Server
ฉันได้ทดสอบแบบสอบถามข้างต้นกับ Studio จัดการเซิร์ฟเวอร์ SQL โดยใช้ฐานข้อมูล SQL Server ของฉันและกับ MySQL Workbench โดยใช้ฐานข้อมูล MySQL และในทั้งสองกรณีจะให้ชื่อตาราง
คิวรีสืบค้นข้อความค้นหาที่แตกต่างกันสองรายการของไมเคิลเบย์ลอนเป็นหนึ่งคำถามที่สามารถเรียกใช้กับฐานข้อมูลทั้งสองประเภทได้ ส่วนแรกของส่วนคำสั่ง WHERE ทำงานบนฐานข้อมูล MySQL และส่วนที่สอง (หลังจาก OR) ทำงานบนฐานข้อมูล MS SQL Server มันน่าเกลียดและมีเหตุผลเล็กน้อยที่ไม่ถูกต้องเนื่องจากมันสมมติว่าไม่มีสกีมาที่ไม่พึงประสงค์ที่มีชื่อเดียวกันกับฐานข้อมูล สิ่งนี้อาจช่วยให้ใครบางคนที่กำลังมองหาหนึ่งแบบสอบถามเดียวที่สามารถทำงานบนเซิร์ฟเวอร์ฐานข้อมูลอย่างใดอย่างหนึ่ง