特定語法:table table _ name【order by column _ name】【limit number【offset number】】
事實上,從語法的角度來看,您可以對記錄集進行排序或篩選,但它相對簡單,功能不如SELECT強大。
示例1
簡單地構建壹個包含10條記錄的非常小的表y1。表t1,插入10條記錄。
MySQL-(ytt/3305)-》;創建表t 1(r 1 int,R2 int);
查詢正常,0行受影響(0.02秒)
MySQL-(ytt/3305)-》;插入t1
遞歸aa(a,b)為(
選擇1,1
聯合所有
select a+1,ceil(rand()* 20)from aa其中a & lt10
)從aa中選擇*;
查詢正常,10行受到影響(0.00秒)
記錄:10?重復項:0?警告:0
簡單的全表掃描MySQL-(YTT/3305)-》;select * from t 1;+ - + - +| r1?| r2?|+ - + - +| 1 | 1 || 2 | 9 || 3 | 9 || 4 | ?17 || 5 | ?17 || 6 | ?16 || 7 | 6 || 8 | 1 || 9 | ?10 || ?集合中的10 | 3 |+-++10行(0.00秒)
表結果MySQL-(ytt/3305)-》;表t 1;+ - + - +| r1?| r2?|+ - + - +| 1 | 1 || 2 | 9 || 3 | 9 || 4 | ?17 || 5 | ?17 || 6 | ?16 || 7 | 6 || 8 | 1 || 9 | ?10 || ?集合中的10 | 3 |+-++10行(0.00秒)
看看表的執行計劃MySQL-(ytt/3305)-& gt;解釋表t 1 order by r 1 limit 2 \ G * * * * * * * * * * * * * * * * * * 1。行**********************?id: 1?select_type:簡單表格:t1?分區:NULL類型:ALLpossible_keys: NULL?關鍵:NULL?key_len: NULL?引用:空行:10過濾:100.00額外:使用文件或集合中的1行,1警告(0.00秒)
事實上,您可以看到該表已經被MySQL轉換為SELECT。MySQL-(ytt/3305)-》;顯示警告\ G * * * * * * * * 1。行**********************?水平:註?代碼:1003消息:/* select # 1 */select ` ytt `。` t 1 `。` r 1 ` AS ` r 1 `。` R2 ` AS ` R2 ` from ` ytt `。` t 1 ` order by ` ytt `。` t 1 `` r 65433
事實上,從上面的簡單示例中,您可以看到該表在內部被轉換為普通的SELECT進行處理。示例2應用於子查詢中的子表。請註意,內部表中的字段數必須與外部表篩選的字段數壹致。克隆表t 1 MySQL-(ytt/3305)-》;像t1壹樣創建表T2;查詢正常,0行受影響(0.02秒)
克隆表t1數據MySQL-(ytt/3305)-》;插入t2表t 1;查詢正常,受影響的10行(0.00秒)記錄:10?重復項:0?警告:0
表t1被視為內部表,表t1有兩個字段,必須滿足t2檢索的要求。MySQL-(ytt/3305)-》;select * from T2 where(r 1,R2)in(table t 1);+ - + - +| r1?| r2?|+ - + - +| 1 | 1 || 2 | 9 || 3 | 9 || 4 | ?17 || 5 | ?17 || 6 | ?16 || 7 | 6 || 8 | 1 || 9 | ?10 || ?集合中的10 | 3 |+-++10行(0.00秒)
註意:如果此處篩選的字段數與子表數不壹致,將會報錯。