有一個表叫Student, 含有以下欄位:id, classid, name, birth, remark
1. 插入一條記錄:classid=2 name=張三 birth=1982-07-19;
答案:insert into student (classid, name, birth) values(2, '張三', '1982-07-19')
2. 選出所有classid=4的學生;
答案:select * from student where classid=4
3. 查詢所有班級出生年月大於1976的人;
答案:select * from student where birth>'1976'
4. 查詢每個班級出生年月大於1976的人數;
答案:select classid, count(*) as number from student where birth>'1976' group by classid
5. 查詢所有班級人數;
答案:select classid, count(*) as total from student group by classid
6. 查詢所有REMAK中含有“計劃”的記錄;
答案:select * from student where remark like '%計劃%'
7. 如果提高SQL的效率;
答案:在ASP中,
- 使用JOIN寫複雜的SQL語句代替一堆SQL語句:一次查詢出所有資料;
- 使用UPDATE語句代替rs.update();
- 採用批量處理SQL語句比一句一句執行的效率高;
- where子句中首先考慮索引;
- 避免使用TEXT等大的欄位:資料庫大執行效率也大;
其他方面:
- 使用內嵌視圖代替暫存資料表:暫存資料表會消耗大量記憶體以及進行大量I/O操作;
- 避免使用LEFT JOIN與NULL值,用INNER JOIN,並設定欄位不能為NULL;
- 使用索引;
- 使用分區視圖;
- 使用觸發器跑預存程序到另外一張統計表裡;
8. 代碼實現列印揚輝三角形;
答案:
Code
private void PascalTriangle(int number)
{
int i, j, n, m;
n = number;
int[,] a = new int[20, 20];
for (i = 0; i < n; i++)
{
a[i, 0] = 1;
a[i, i] = 1;
}
for (i = 2; i < n; i++)
{
for (j = 1; j < i; j++)
{
a[i, j] = a[i - 1, j - 1] + a[i - 1, j];
}
}
for (i = 0; i < n; i++)
{
for (m = 1; m < n - i; m++)
{
Response.Write(" ");
}
for (j = 0; j <= i; j++)
{
Response.Write(a[i, j].ToString());
Response.Write(" ");
}
Response.Write("<br>");
}
}