以下是对SQL中的数据查询语句进行了汇总介绍
需要的朋友可以过来参考下
where条件表达式
统计函数
复制代码 代码如下:
Select count(
) from student;
like模糊查询
统计班上姓张的人数
复制代码 代码如下:
select count(*) from student where realName like
张%
;
统计班上张姓两个字的人数
复制代码 代码如下:
select count(*) from student where realName like
张_
;
统计班上杭州籍的学生人数
复制代码 代码如下:
select count(*) from student where home like
%杭州%
;
查询班上每位学生的年龄
复制代码 代码如下:
select realName
year(now())
year(birthday) as age from student;
查询年出生的学生
复制代码 代码如下:
select realName from student where year(birthday)>=
;
查询年出生的学生
复制代码 代码如下:
select realName from student where year(birthday)<=
and year(birthday)>=
;
select * from student where year(birthday) between
and
;
查询班上男女生人数
复制代码 代码如下:
select sex
count(*) from student group by sex;
in子句查询班上B或O型血的学生
复制代码 代码如下:
select realName
blood from student where blood in(
B
O
);
子查询
子查询也可称之为嵌套查询有些时候一次查询不能解决问题需要多次查询
按子查询返回的记录行数区分可分为单行子查询和多行子查询
复制代码 代码如下:
select * from emp where sal>( select sal from emp where ename=
ALLEN‘ or ename =‘KING
)
上例是找出比allen工资高的所有员工
A子查询一般先于主语句的运行
B必须有( )表示一个整体
C习惯上把子查询放在条件的右边
多行子查询someanyall
连接语句(应用于多表查询)
包括内联外联(左外连和右外联)
内联(inner join)把两张表相匹配的行查询出来
查询每个学生的各科成绩显示“姓名”“课程名”“分数”三列
复制代码 代码如下:
select a
realname
c
courseName
b
score from stu_student as a inner join stu_score as b on a
sid=b
sid inner join stu_course c on b
cid=c
cid
还有一种方法不采用inner join:
复制代码 代码如下:
select a
realname
c
courseName
b
score from student a
score b
course c where a
sid=b
sid and c
cid=b
cid
外联分左外联和右外联
Left outer join:查询两边表的匹配记录且将左表的不匹配记录也查询出来
Right outer join:等上将右表不匹配记录也查询出来
复制代码 代码如下:
select arealnamebscore from stu_student as a left outer join stu_score as b on asid=bsid