Sql学习网站:
http://www.w3school.com.cn/sql/sql_like.asp
COUNT(0) FROM sys_match
WHERE STATUS=‘2’
SELECT COUNT(0) FROM sys_match
WHERE TYPE=‘2’ AND STATUS=‘2’
SELECT START_TIME FROM sys_match
ORDER BY MATCH_ID;
以id数字大小排序显示
SELECT * FROM tab ORDER BY DATETIME(时间字段) ASC(升序)/DESC(降序)
SELECT * FROM sys_match
ORDER BY START_TIME ASC
SELECT * FROM sys_match
ORDER BY START_TIME DESC
SELECT AMOUNT,COUNT(amount) FROM sys_noterecord
SELECT DISTINCT USER_ID FROM sys_noterecord
db_gold_cms
SELECT DISTINCT COUNT(USER_ID) FROM sys_noterecord
SELECT COUNT(DISTINCT USER_ID) FROM sys_noterecord
查询金币数
SELECT SUM(AMOUNT) FROM sys_noterecord
关联查询:
Join:
JOIN: 如果表中有至少一个匹配,则返回数据
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的数据
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的数据
FULL JOIN: 只要其中一个表中存在匹配,就返回数据
SELECT persons
.height
,student
.name
FROM persons
,student
WHERE persons
.id
= student
.id
但是这样操作数据库时会慢,降低效率写起来麻饭,显得很low
Inner join :
SELECT persons
.height
FROM persons
INNER JOIN student
ON persons
.id
= student
.id
内连接 INNER JOIN 与 JOIN 是相同的。
INNER JOIN 关键字在表中存在至少一个匹配时返回行。如果 “Persons” 中的行在 “Orders” 中没有匹配,就不会列出这些行。
LEFT JOIN:
会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
SELECT persons
.height
FROM persons
LEFT JOIN student
ON persons
.id
=student
.id
我们希望人这个表中所有的身高数据都显示出来,
但是学生表中的数据我也想知道,或者是和人表中有关联的数据我想知道就用left JOIN
左连接后的检索结果是显示tbl1的所有数据和tbl2中满足where 条件的数据。
简言之 Left Join影响到的是右边的表
RIGHT JOIN:
SELECT persons
.height
FROM persons
RIGHT JOIN student
ON persons
.id
=student
.id
select * from tbl1 Right Join tbl2 where tbl1.ID = tbl2.ID
检索结果是tbl2的所有数据和tbl1中满足where 条件的数据。
简言之 Right Join影响到的是左边的表
FULL JOIN:
FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 “Persons” 中的行在表 “Orders” 中没有匹配,或者如果 “Orders” 中的行在表 “Persons” 中没有匹配,这些行同样会列出。
排序:
SELECT * FROM student
ORDER BY score asc正序/DESC 倒序
Count:
SELECT COUNT(NAME) AS 学生姓名 FROM student
WHERE NAME=‘老捌’
SELECT COUNT(*) FROM student
查询表中有多少条数据
SELECT COUNT(DISTINCT score) FROM student
去重 不相同的分数 有多少值
关键词 DISTINCT 用于返回唯一不同的值。
去重:
Select DISTINCT NAME from user
函数:
SELECT COUNT(NAME) AS 学生姓名 FROM student
WHERE NAME=‘老捌’
SELECT SUM(score) AS 学生分数 FROM student
总和
SELECT AVG(score) AS 学生平均数 FROM student
求平均数
SELECT MAX(score) AS 得分最多的学生 FROM student
SELECT MIN(score) AS 得分最少的学生 FROM student
url:jdbc:mysql:/rm-2ze95budya28fjdat.mysql.rds.aliyuncs.com:3306/saget-pay-web-boss?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
driverClassName:com.mysql.jdbc.Driver
username:root
password:Sh950515
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ —like的语法很精妙,查资料!
like ‘%100’ 查询尾数是100的值,
‘100%’ 查询以100开头的值,尾数不管是什么!
‘%100%'查询带有100的值!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
SELECT COUNT(1) FROM sys_army
WHERE game_ids LIKE ‘%1000%’ LIMIT 0, 1000;
查询带有1000的数据有几条
SELECT game_id, game_name FROM sys_game
ORDER BY game_id;
以id数字大小排序显示
SELECT game_id, game_name FROM sys_game
ORDER BY game_name;
以name的首字母顺序 显示
SELECT COUNT(DISTINCT USER_ID) FROM sys_noterecord
取不同userid的数量
SELECT DISTINCT USER_ID FROM sys_noterecord
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
mongoDB常用查询语句: