实习第二天学习

        第一天是经理给我们讲了一些公司的文化规范等,今天给公司内部培训了前端代码规范,我们实习生也跟着去听了,感觉学到了一下前端的东西很值得,今天自己给自己定的任务就是温习sql的语法,因为很久没又看已经有点不太熟练,今天自己根据公司的数据库的课件好好看了看,下面是笔记和总结,方便复习。

一、查询语法

1.消除重复的行 关键字 (distinct)

select distinct id  from emp;

2 、查找范围

select id from product where id between ? and ?

3、联合查询 union 可以代替 or

SELECT product_Name FROM product WHERE id_p=2 
UNION
SELECT product_Name FROM product WHERE id_p=4;

注:union all不去重 效率更高。
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

4、null值数据的处理

查询表product所有数据,并且product_Name不为null的列

SELECT * FROM product WHERE product_time IS NOT NULL

5、排序(ORDER BY)

查询pid id_p 且 product_Name为p 并以pid升序排列。

SELECT pid AS id,id_p AS pid FROM product WHERE product_Name='p' ORDER BY id ;

注:order by 默认升序 ASC(升序) DESC(降序)

6、聚合函数

count、sum、avg、max、min

7、分组统计(GROUP BY)

查询性别 和 不同性别的人数。

SELECT sex AS 性别,COUNT(*) AS 人数 FROM product GROUP BY sex;

二、连接查询

①等值与非等值连接查询
查询每个学生及其的选修课程情况

select student.Sno as 学号,course.Cno as 选修课号,SC.Grade as 成绩 
from student,course,SC 
where student.Sno=SC.Sno and course.Cno=SC.Cno ;

②自身连接
查询每个学生的间接选修课

select SC.Sno as 学号,
FIRST.Cname as 直接选修课,
SECOND.Cname as 间接选修课
from SC,
course as FIRST,
course as SECOND
where FIRST.Cno=SC.Cno
and FIRST.Cpno=SECOND.Cno;

左链接

关键字:left join on / left outer join on
语句:select * from a_table a left join b_table bon a.a_id = b.b_id;

说明:
left join 是left outer join的简写,它的全称是左外连接,是外连接中的一种。
左(外)连接,左表(a_table)的记录将会全部表示出来,而右表(b_table)只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。
右连接 right join 刚好和左连接相反

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值