源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

基于SQL中的数据查询语句汇总

  • 时间:2022-07-20 17:57 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:基于SQL中的数据查询语句汇总
[b]where条件表达式 --统计函数 [/b]
[u]复制代码[/u] 代码如下:
Select count(1) from student;
[b]--like模糊查询 --统计班上姓张的人数 [/b]
[u]复制代码[/u] 代码如下:
select count(*) from student where realName like '张%';
[b]--统计班上张姓两个字的人数 [/b]
[u]复制代码[/u] 代码如下:
select count(*) from student where realName like '张_';
[b]--统计班上杭州籍的学生人数 [/b]
[u]复制代码[/u] 代码如下:
select count(*) from student where home like '%杭州%';
[b]--查询班上每位学生的年龄 [/b]
[u]复制代码[/u] 代码如下:
select realName,year(now())-year(birthday) as age from student;
[b]--查询90年出生的学生 [/b]
[u]复制代码[/u] 代码如下:
select realName from student where year(birthday)>='1990';
[b]--查询1987-1990年出生的学生 [/b]
[u]复制代码[/u] 代码如下:
select realName from student where year(birthday)<='1990' and year(birthday)>='1987'; select * from student where year(birthday) between '1987' and '1990';
[b]--查询班上男女生人数 [/b]
[u]复制代码[/u] 代码如下:
select sex,count(*) from student group by sex;
[b]--in子句查询班上B或O型血的学生 [/b]
[u]复制代码[/u] 代码如下:
select realName,blood from student where blood in('B','O'); 
[b]子查询 [/b]子查询也可称之为嵌套查询,有些时候,一次查询不能解决问题,需要多次查询。 按子查询返回的记录行数区分,可分为单行子查询和多行子查询;
[u]复制代码[/u] 代码如下:
select * from emp where sal>(       select sal from emp where ename='ALLEN‘ or ename =‘KING')
上例是找出比allen工资高的所有员工 A.子查询一般先于主语句的运行 B.必须有( ),表示一个整体 C.习惯上把子查询放在条件的右边 [b]多行子查询:some,any,all [/b] [b]连接语句(应用于多表查询) [/b]包括:内联,外联(左外连和右外联) 内联(inner join):把两张表相匹配的行查询出来。 [b]--查询每个学生的各科成绩,显示“姓名”“课程名”“分数”三列 [/b]
[u]复制代码[/u] 代码如下:
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:
[u]复制代码[/u] 代码如下:
select a.realname,c.courseName,b.score from student a,score b,course c where a.sid=b.sid and c.cid=b.cid
[b]外联分左外联和右外联: [/b]Left outer join:查询两边表的匹配记录,且将左表的不匹配记录也查询出来。 Right outer join:等上,将右表不匹配记录也查询出来。
[u]复制代码[/u] 代码如下:
select a.realname,b.score from stu_student as a left outer join stu_score as b on a.sid=b.sid
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部