数据库语法

//去重复查询
SELECT DISTINCT id FROM tablename1;
//按id升序
SELECT * FROM tablename1 ORDER BY id ASC;
//降
SELECT * FROM tablename1 ORDER BY id DESC;
//分组查询
SELECT * FROM tablename1 GROUP BY 


#group by 用于对车讯的结果分组统计
#having 子句用于限制分组显示结果
#having 往往和group by 结合使用,可以对分组查询结果进行筛选
如果在SELEC语句中同时包含group by ,having, order by 那么他们执行的顺序是group by ,having, order by
在选择列中如果有列,表达式,和分组函数,那么这些列和表达式必须有一个出现在group by中,否则就会出错

#针对外键,请注意emp
#外键只能指向主键
#外键和主键的数据类型要一致

#修改值
UPDATE dept SET dname='qqq2' WHERE deptno=20

#批量查询
#显示标号为123,345,800...的雇员
方法一:select *from emp where no=123 or no=345 or no=800
方法二:select *from emp where no in(123,345,800)#效率高,简便
#逻辑操作符号
select * from emp where (sal>500 or job='manager') and ename like 'j%'

#取消重复行(distinct只能消除完全一样的行,保留一行(不是删除(查询)))

#like模糊查询
#显示姓名末尾为2的员工
SELECT * FROM emp WHERE ename LIKE '%3'
#显示姓名第4位为1的员工
SELECT * FROM emp WHERE ename LIKE '___1%'
#统计共有多少人
SELECT COUNT(*) FROM score;
#子查询
#子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询



表的复杂查询---多表查询
#如果两张表所有相同的字段,则需要带表名(别名)


##########################################
多表查询
##########################################
#如果两张表所有相同的字段,则需要带表名(别名)
SELECT * FROM student st, score sc WHERE st.stuID=sc.stuID
#单行子查询
SELECT * FROM student WHERE classID = (SELECT classID FROM student WHERE stuID=1003)
#多行子查询
#DISTINCT去重复
SELECT * FROM score WHERE courseID IN (SELECT DISTINCT  courseID FROM score WHERE course='数学')
#在from中使用子查询
 
#显示高于科目平均分的学生信息
#1.各个科目平均分数
#2.把上面的查询结果,当着一张临时表 对待
SELECT * FROM (SELECT AVG(score) score ,courseID courseID  FROM score GROUP BY course) sg,score sc WHERE sc.score>sg.score AND sc.courseID=sg.courseID ORDER BY sc.courseID

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值