Suppose this is the data we want to interpolate, namely f evaluated at the nodes x0 = 0, x1 = 1, x2 = 2, and x3 = 3.

f[x_] = 1./(1+x^2);
data = Table[{x, f[x]}, {x, 0, 3, 1}];
TableForm[data, TableHeadings ->{None, {x,y}}]
Magnify[Plot[f[x], {x, 0, 3}, Epilog -> Point[data], ImageSize -> 200], 1.3]

A Piecewise Quadratic function has 9 free coefficients, aj, bj, and cj, with j = 0, 1, or 2.

S0[x_] := a0 + b0 x + c0 x^2
S1[x_] := a1 + b1(x-1) + c1(x-1)^2
S2[x_] := a2 + b2(x-2) + c2(x-2)^2
S[x_] := Which[
x < 1, S0[x],
x < 2, S1[x],
x < 3, S2[x]
]

A Quadratic Spline interpolating f is determined by forcing 
(a) (Subscript[S, j])((Subscript[x, j])) = f((Subscript[x, j])) for j = 0, 1, 2 (3 equations), (b) (Subscript[S, j])((Subscript[x, j+1])) = f((Subscript[x, j+1])) for j = 0, 1, 2 (3 equations) ,
(c) S’ is continuous at interior nodes, i.e. (Subscript[S, j])’((Subscript[x, j+1])) = (Subscript[S, j+1])’((Subscript[x, j+1])), for j = 0, 1 (2 equation).  
So far, there are 8 equations and we need one more. (We need 9 equations in the 9 unknown coefficients.)  Some choices for the last equation are (Subscript[c, 0]) = 0, (Subscript[c, n]) = 0, or when n is odd we can set (Subscript[c, (n-1)/2]) = 0.  Here, n = 3, so setting (Subscript[c, 1]) = 0 is reasonable.  When n is even, we can impose the condition that S’’ is continuous at the middle node (Subscript[x, n-1]).

coeffs = Solve[{
a0==  f[0], a1 == f[1], a2 == f[2], (*S(x) = f(x) at left endpoints *)
a0 + b0 + c0 ==  f[1], a1+b1+c1 ==  f[2], a2+b2+c2 ==  f[3], (*S(x) = f(x) at right endpoints *)
b0 + 2c0 ==  b1, b1 + 2c1 ==  b2, (* Derivative is continuous at interior nodes *)
c1 ==0 (* The last equation *)}, {a0, b0, c0, a1, b1, c1, a2, b2, c2}][[1]]
Magnify[Plot[{f[x], S[x]/. coeffs}, {x, 0, 3}, Epilog -> Point[data], ImageSize -> 200], 1.3]

Note:  Here is an example of how you use Mathematica to solve systems of linear (or nonlinear) equations.  Note the double = sign.

soln = Solve[{x+y == 1, x-y == 0}, {x,y}]

There is only one solution, so take the first one with [[1]].  Redefine soln as the unique solution to the linear system.  This is what was done in the

soln = Solve[{x+y == 1, x-y == 0}, {x,y}][[1]]

You can use this “substitution rule” like this:

xsoln = x/.soln

xsoln

Note that the value of x is still undefined.

x