查询(Select)在数据库操作中是一块重中之中的操作!记录一下跟select有关的操作

  •  *   //表示查所有(但是一般查询*不建议使用,如果数据庞大,select * 会影响性能)
  • From  //表示数据来源
  • where  //查询条件
  • Group By //查询结果分组
  • Order By  //查询结果排序,默认为升序(ASC),降序(DESC)
  • Limit //表示显示出查询结果显示多少条
  • In  //查询包含In()所指定的条件
  • Not //查询不在Not()条件范围内的记录
  • Between ...and ... //Between 0 and 9:查询0-9之间的记录
  • Like //匹配查询(模糊查询)
  • like'b%' //表示以字母b开头的
  • like'%b' //表示以字母b结尾的
  • like'%b%' //表示带有字母b的
  • like'a%b' //表示以字母开头且以b结尾的
  • like'_a' //表示以‘a’结尾的且前面只有一个字母的
  • like'__a' //表示以‘a’结尾的且前面有两个字母的
  • And  //查询条件必须满足AND 前后的记录
  • or    //查询条件只需满足or 前后一种即可
  • Distinct  //select DISTINCT 表示查询结果不重复

函数查询

  • AVG() //求平均值
  • COUNT() //统计行数
  • MAX() //某列最大值
  • MIN() //某列的最小值
  • SUM() //某列的值

连接查询

  • Inner join  //内连接查询  查找两张表同时存在的数据,使用内连接
  • Left join //查询左表中的所有行和右表中链接字段相等的记录
  • Right join //查询右表中的所有行和左表中链接字段相等的记录

子查询

  • Any、Some //这两个是同义词,表示满足其中任一个条件
  • Any关键字接在一个比较操作符的后面,表示若子查询返回的任何值比较为true,则返回true.
  • Create table tb1(num1 int not null); Insert into tb1 values(1,5,13,27);
  • Create table tb1(num1 int not null); Insert into tb2 values(6,14,11,20);
  • select num1 from tb1 where num1>Any(select num2 from tb2);
  • 返回的结果13,27  原因为any后表示只要满足ta1中的数大于tb2中的一个数即可
  • All  //表示同事满足所有内层查询的结果
  • 将上述例子Any 改成 All 则返回的结果就是27 ,只有27满足tb2中的每一个值!
  • Exists //Exists后面的参数是一个任意的子查询,系统对子查询进行运算以判断它是否返回行,如果至少返回一行,那么Exists的结果为true,此时外层查询语句将进行查询,如果返回false,此时外查询语句将不进行查询。
  • In //In进行子查询时,内层查询语句仅仅返回一个数据列,这个数据列里的值将提供给外层查询语句进行比较操作。

合并查询

  • Union //可以给出多条select语句,并将他们的结果集合并成单个结果集,合并时,两个表的数据类型必须相同。各个select 语句之间使用uinion 或者union all,没有all返回的值都是唯一的,删除重复的,all的作用是不删除重复行,不对结进行自动排序
  • 使用语法格式
  • select column ....from table1
  • union[all]
  •  select column ....from table2

别名

    表明[as] 表别名

    列名[as] 列别名