SELECT * FROM table1
SELECT * FROM table1 WHERE id >= 1 AND id<=20 AND id IN(1,2,3,4,5,6,7,8,9) OR (id BETWEEN 1 AND 10)
SELECT * FROM table3 WHERE t3Date >= ‘2011-08-10‘
SELECT * FROM table1 WHERE id IS NOT NULL GROUP BY id,t1Name ORDER BY id,t1Name
SELECT * FROM (SELECT a.*,b.t2Value FROM table1 a LEFT JOIN table2 b ON a.id = b.t2Table1Id) a
SELECT a.*,b.* FROM table1 a LEFT JOIN table2 b ON a.id = b.t2Table1Id/*显示a表中所有数据与b表中所有符合关联条件的数据,b表中有多条满足a表条件的行,则b表所有满足的行都显示,结果中对应a表显示部分的内容相同。如果a表中某条数据在b表中没有关联数据,则查询结果该条记录对应b表列为null空*/
SELECT a.*,b.* FROM table1 a RIGHT JOIN table2 b ON a.id = b.t2Table1Id/*显示b表中所有数据与a表中所有符合关联条件的数据。如果b表中某条数据在a表中没有关联数据,则查询结果该条记录对应a表列为null空*/
SELECT a.*,b.* FROM table1 a INNER JOIN table2 b ON a.id = b.t2Table1Id/*只显示a表b表中所有与对方有对应的数据*/
-- 把 UNION 前后两语句查询的结果累加起来,并且结果中字段值完全一样的多条记录只保留一条,再返回结果。UNION前后俩语句查询的字段名及顺序必须一致
SELECT field1 FROM table1 WHERE id <10
UNION
SELECT field1 FROM table1 WHERE id >20
-- 返回数据库最后插入的id值
SELECT @@IDENTITY AS id;
SELECT LAST_INSERT_ID() AS id;
UPDATE table4 a LEFT JOIN table5 b ON a.table5_id = b.id SET a.name = CONCAT(a.name, ‘.html‘) WHERE b.id = 1;-- CONCAT(a.name, ‘.html‘)CONCAT()将两字符串连接后返回
-- 批插入
INSERT INTO table1(id, t1Name) VALUES(1, ‘name1‘), (2, ‘name2‘), (3, ‘name3‘);
CREATE TABLE table6 AS SELECT a.id,b.name FROM table4 a LEFT JOIN table5 b ON a.table5_id = b.id WHERE b.id = 1;-- 用查询结果创建新表,可用来复制表
-- 为输出结果加排序号
SELECT (@i:=@i+1) AS num,b.test_field2 FROM test_table a
LEFT JOIN test_table2 b ON a.id = b.test_table_id
,(SELECT @i:=0) AS num_table
-- =========================================常用函数,其中参数均可用字段代替
-- 汇总函数
SELECT SUM(id) FROM table1 -- 获取括号内字段的和
;
SELECT COUNT(*) FROM table1 -- 获取括号内参数的个数
;
-- 逻辑函数
SELECT IF(2>1, ‘2大于1‘, ‘2不大于1‘) -- 判断第一个参数,真返回第二个参数,假返回第三个参数
;
SELECT IFNULL(NULL,0) -- 判断第一个参数,不是NULL返回第一个参数,是NULL返回第二个参数
;
SELECT CASE 1 WHEN 1 THEN ‘这是1‘ WHEN 2 THEN ‘这是2‘ WHEN 3 THEN ‘这是3‘ END AS a --