新手如何玩转SQL
SQL基础
1.select
只要你是查询数据库,第一个输入的单词就是它,在查询语句中为必须。
2.from
来源于哪个表,在查询语句中为必须。
3.where
后面多为域名,为过滤条件语句。
4.and
有where的时候,还需要附加过滤条件的话则用and,功能与where基本一致。
5.order by
排序函数,默认为升序,desc为降序,一般放在查询语句最后。
6.group by
分组函数,多用于统计数据,与查询字段对应使用,一般放在条件过滤语句之后,order by函数之前。
整体的SQL语句结构:
例:select…from…where…and…order by…group by…desc
7. ;
没错,就是;(冒号),我刚开始学SQL的时候不知道为啥两段SQL可以合起来一起查询,一脸懵逼,后来才知道是;在起作用。
一段SQL写完之后可以用;来结尾,然后接着写下一段SQL,一起运行的话会结果分开的,这个符号也代表结束的意思。
SQL进阶(平时用的比较多的)
一.AS 可用作表或者字段的别名,也可省略
例:
SELECT COUNT(1) AS TMP FROM DUAL /* TMP就是别名 */
SELECT COUNT(1) TMP FROM DUAL /* AS也可省略 */
SELECT COUNT(1) AS TMP FROM TABLE A /* A就是TABLE表的别名 */
一般表别名多用于多表关联或嵌套查询,关于多表关联和嵌套以后会说明。
二.SUM() 聚合函数,这个应该好理解,格式就是SUM(字段或值)求和。
三.COUNT()计数函数,统计某个字段的行数(null除外)。
COUNT函数有几点用途:
1.最直观的用途,也就是计数;
2.可以搭配group by having 来使用,可用于检查数据的重复值,或者用于条件过滤。
例:
SELECT U_ID
,COUNT(*)
FROM TABLE
GROUP BY U_ID /* 对U_ID进行分组 */
HAVING COUNT(*) > 1 /* 计数>1为重复 */
3.暂时就想到这些,评论也可以补充,哈哈哈哈。
四.MAX(),MIN(),这两个函数一个返回最大值,一个是返回最小值,为啥要把他们放在一起呢,应为他们的功能太像了,还有就是我太懒了哈哈哈哈。
他们可以返回时间类型的值,也可以返回数值类型的值,字符串类型一般不放,这里不做多评论了(因为我也不知道是啥原理哈哈)。
例:
SELECT MAX(A_NUM) FROM TMP; /* 返回A_NUM字段的最大值 */
SELECT MIN(A_NUM) FROM TMP; /* 返回A_NUM字段的最小值 */
还有操作符、各种函数的运用及举例就后面慢慢说吧,肚子饿了。。。