Learning SQL2

来源:互联网 发布:大数据资源共享 编辑:程序博客网 时间:2024/05/17 08:45
Learning SQL2
一   分组与聚集
聚集函数--GROUNP BY
mysql> SELECT gender,COUNT(*) how_many
    -> FROM student_list
    -> GROUP BY gender;
+--------+----------+
| gender | how_many |
+--------+----------+
| F      |        2 |
| M      |        2 |
+--------+----------+


聚集函数
MAX()      返回集合中的最大值
MIN()      返回集合中的最小值
AVG()       返回集合中的平均值
SUM()       返回集合中所有值的和
COUNT()    返回集合中值的个数


mysql> SELECT student_id,MAX(student_id) max_student_id,
    -> MIN(student_id) min_student_id,
    -> SUM(student_id) sum_student_id,
    -> AVG(student_id) avg_student_id,
    -> count(student_id) count_s
    -> FROM student_list;
+------------+----------------+----------------+----------------+----------------+---------+
| student_id | max_student_id | min_student_id | sum_student_id | avg_student_id | count_s |
+------------+----------------+----------------+----------------+----------------+---------+
| 6100410004 | 6100410019     | 6100410004     |    24401640044 |     6100410011 |       4 |
+------------+----------------+----------------+----------------+----------------+---------+


二  子查询


IN &  NOT IN  
mysql>  SELECT fname,lname,tel
    ->  FROM student_list
    ->  WHERE fname IN ('chen','Luo');   //子查询
+-------+---------+-------------+
| fname | lname   | tel         |
+-------+---------+-------------+
| chen  | xueping | 13330078754 |
| Luo   | Haitao  | 18770087983 |
+-------+---------+-------------+
ALL运算符
IN 运算符用于能否在一个表达式集合中找到某一个表达式
ALL运算符则用于将某单值与集合中的每一个值进行比较。
构建这样的条件需要将其中一个比较运算符(=、<>不等于、<、>)与ALL配合使用




ANY 运算符
EXISTS 运算符


三  连接
左外连接 LEFT OUTER JOIN 连接左边的表决定结果集行数
右外连接 RIGHT OUTER JOIN ----右边-----------------
交叉连接  CROSS JOIN   生成两个表的笛卡尔积
自然连接  NATURAL JOIN 依赖多表交叉时的相同列名来推断正确的连接条件
原创粉丝点击