title: How are the table data stored when it has a clustered index
body: <p>I have found umpteen posts which begin like <strong>Quite a lot of time I have come across people saying "Clustered Index Physically sorts the data inside the table based on the Clustered Index Keys". It's not true!</strong> Then such posts go on to describe how it is actually stored, via linked lists or whatever. For example, this <a href="http://sqlwithmanoj.wordpress.com/2011/03/02/clustered-vs-nonclustered-indexes-and-data-sorting/" rel="nofollow noreferrer">post</a> says that </p>
  
  <blockquote>
    <p>Each Index row contains a Key value and a pointer to either an
    Intermediate level page in the B-tree, or a Data row in the Leaf level
    of the Index. The Pages in each level of the Index are linked in a
    Doubly-linked list. The Pages in the Data chain and the rows in them
    are ordered on the value of the Clustered Index key.</p>
  </blockquote>
  
  <p>That brings me to my question, the data pages <em>are</em> the place where the table data are stored, right? So if they are sorted and the data within them also are sorted according to the indexed column value, why is it wrong to say that the clustered index keeps the table data in sorted order? Here is a pic from Kalen Delaney's book, which shows that the leaf pages in a table with CI are all sorted according to the CI value:</p>
  
  <p><img src="https://i.stack.imgur.com/UBlA6.png" alt="enter image description here"></p>