zoukankan      html  css  js  c++  java
  • SQL学习笔记——SQL中的数据查询语句汇总

    where条件表达式

    --统计函数

    Select count(1) 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;

    --查询90年出生的学生

    select realName from student where year(birthday)>='1990';

    --查询1987-1990年出生的学生

    select realName from student where year(birthday)<='1990' and year(birthday)>=’1987’;
    select * from student where year(birthday) between '1987' and '1990';

    --查询班上男女生人数

    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.习惯上把子查询放在条件的右边

    多行子查询:some,any,all 

    连接语句(应用于多表查询)

    包括:内联,外联(左外连和右外联)

    内联(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 a.realname,b.score from stu_student as a left outer join stu_score as b on a.sid=b.sid



  • 相关阅读:
    Java多线程详解
    自动化构建工具Maven
    解决 安装cocoapods失败,提示 requires Ruby version >=2.2.2
    安装Cocoapods时候ERROR: While executing gem ... (Errno::EPERM)
    iOS可执行文件瘦身方法
    ios webview自适应实际内容高度4种方法
    iOS8 tableview separatorInset cell分割线左对齐,ios7的方法失效了
    Reveal1.5破解,iOS_UI调试利器Reveal最新版本破解方法
    Xcode安装插件,错误选择了Skip Bundles,重新出现Load Bundles方法
    10分钟搞定支付宝支付 的 各种填坑
  • 原文地址:https://www.cnblogs.com/aukle/p/3228537.html
Copyright © 2011-2022 走看看