数据库检索(Select)

基本检索

  • 检索单个列
    select column_name from table_name;
  • 检索多个列
    select column_name1,column_name2,... from table_name;
  • 检索所有列(整个表)
    select * from table_name;

带有特定功能的检索

  • 检索不同的行(即返回一个列中列值不同的行)
select distinct column_name 
from table_name;
  • 排序检索
    1.升序排序
select column_name1 
from table_name 
order by column_name2;//按照column_name2对column_name1排序

2.降序排序

select column_name1 
from table_name 
order by column_name2 desc;
  • 限制输出行数
select column_name from table_name limit offset;//从第一行开始返回不超过offset行
select column_name from table_name **limit** begin,n;//从begin+1行开始检索n行(begin从0开始)
=select column_name from table_name **limit** n **offset** begin;

嵌套检索(子查询)

嵌套在其他查询中的查询

  • 一般子查询
select cust_id
from orders
where order_num in ( select order_num
                     from orderitems
                     where prod_id='TNT2');
  • 相关子查询
    涉及外部查询的子查询
select cust_name,
         cust_state,
         (select count(*)
          from orders
          where orders.cust_id=customers.cust_id) as orders
from customers
order by cust_name;

组合查询

  • 执行多个select并将结果作为单个查询结果集返回。利用union关键字将select语句连起来,每个查询必须包含相同的列,表达式或聚集函数。union自动去除重复的行。
select vend_id,prod_id,prod_price
from products
where prod_price<=5
union
select vend_id,prod_id,prod_price
from products
where vend_id in (1001,1002);
  • 对组合查询结果排序,只能够使用一个order by语句,可以用其来排序所有结果。

利用联结的查询

全文本搜索

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SQL SELECT 语句 一、查询SQL SELECT 语法 (1)SELECT 列名称 FROM 表名称 (2...
    有钱且幸福阅读 5,819评论 0 33
  • 1.表中的任何列都可以作为主键, 只要它满足以下条件:任意两行都不具有相同的主键值;每一行都必须具有一个主键值( ...
    Cherryjs阅读 802评论 0 0
  • 于是又到了梧桐絮飘满校园的四月,又到了梧桐色相簿的季节,我们迎来了实习生招聘。 “范老湿从不写代码”,“范老湿从不...
    Lance_Van阅读 776评论 0 1
  • 早已过了情窦初开的年龄,一个人经历从校园步入社会,从众多人中竞争同一个职位,从无数个黑夜中惊醒无法入睡,从社会傻白...
    哎呀小囡阅读 285评论 0 0
  • 作为一个读中文的,常常被要求着去读各位大师的作品,尤其是在现当代文学方面,先前总是敬佩着民国的数位才子们,不仅在创...
    颜春花阅读 716评论 0 8