字段名之间可以进行算术运算: G# y1 @4 n+ K1 \% B" E$ c: Z+ E7 F
例如: (字段名1*字段名1)/3
} T9 d) J3 a) E$ r9 {8 a
* P8 [# O/ `; J: y查询语句可以嵌套
9 S3 O/ a' M0 k$ y" U例如: SELECT …… FROM
% G2 Q. a. S, C/ d- F8 n(SELECT …… FROM表名1, [表名2, ……] WHERE 条件) WHERE 条件2;8 } d( Q; ~/ y1 o1 d$ E# S' L
% c; Y" S2 |& e3 X, B两个查询语句的结果可以做集合操作3 l; P0 v ] C- Y
例如: 并集UNION(去掉重复记录), 并集UNION ALL(不去掉重复记录), 差集MINUS, 交集INTERSECT
. t. \8 R& j' s e: ~: o+ ~4 D2 h: I& G
! k# n# W* l" e `+ ?2 Z- W. u6 z分组查询
2 S4 f4 Y$ n$ ?1 WSELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] GROUP BY字段名1
; q/ ?. g$ n! J9 d, R' ]7 D- u+ d[HAVING 条件] ;: v3 V/ K& `+ y) C x
+ e" e' L+ E* L- g两个以上表之间的连接查询7 ?# ]; Y1 q" R& S
- |. ~7 q7 u% V% x% Y( |% q" gSELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE
6 ^, w V4 f9 D0 m9 a 表名1.字段名 = 表名2. 字段名 [ AND ……] ;
8 H3 u+ l A T6 U( l$ n
" M% _+ `& E8 a. o# Z0 [SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE
% p, x9 y5 y* h" ?+ e+ n0 S$ K 表名1.字段名 = 表名2. 字段名(+) [ AND ……] ;2 C7 Q+ f3 h' a- ^
0 ?0 w) ?8 l9 A# S# b- L有(+)号的字段位置自动补空值/ j( b; D4 N1 n4 L. V
3 }! J% F5 m. m- y1 N( T# `
查询结果集的排序操作, 默认的排序是升序ASC, 降序是DESC6 z$ }$ g1 K6 r4 N$ O
; M1 G' ^ |7 H! VSELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……]5 I8 E/ k% U- w) A' ~; n; v; v
ORDER BY字段名1, 字段名2 DESC;
# I% [- u0 s$ @( A f& ~3 E4 l
: N- I7 l* t% x" R4 I a% Y$ S$ t& }字符串模糊比较的方法7 x) J, D" t7 [7 C
: H+ c4 |2 f9 t* R! Y9 t! R
INSTR(字段名, ‘字符串’)>0, |, M( Y! W5 R$ F1 E* l+ t0 `% {
字段名 LIKE ‘字符串%’ [‘%字符串%’]) ?3 T8 K {2 q, U/ }3 V
4 g e$ r/ ~, f# [
每个表都有一个隐含的字段ROWID, 它标记着记录的唯一性. |