Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

जब आप `SELECT *` करते हैं तो SQL सर्वर कॉलम के क्रम को कैसे निर्धारित करता है?

वे column_id . के क्रम में हैं सिस्टम दृश्य से sys.columns

आप इसकी जांच कर सकते हैं:

SELECT column_id, name
FROM sys.columns
WHERE object_id = Object_id('MyTableName')
ORDER BY column_id

संपादित करें

यह डेम्स के लिए है। आपको एक बड़ी तालिका पर परीक्षण करना चाहिए, लेकिन ऐसा लगता है कि यह तालिका में परिभाषित क्रम का उपयोग करता है, अनुक्रमणिका का नहीं:

CREATE TABLE #T (cola int, colb int, colc int)

INSERT INTO #T
VALUES
(1,2,3),
(2,3,4),
(4,5,6)

SELECT * FROM #T

CREATE INDEX ix_test ON #T (colb, colc, cola)

SELECT * FROM #t
WHERE colb > 0

DROP TABLE #T


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DATETIMEOFFSETFROMPARTS() SQL सर्वर में उदाहरण (T-SQL)

  2. SQL सर्वर में डुप्लिकेट पंक्तियाँ हटाएं

  3. SQL सर्वर में सभी लॉजिकल ऑपरेटर का उपयोग कैसे करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 126

  4. क्या आप टीएसक्यूएल कोड से एक webservice कॉल कर सकते हैं?

  5. एसक्यूएल क्वेरी दो तालिकाओं के बीच अंतर वापस करने के लिए