1获取指定列(基础)
select id ,name from info; #info :数据表,=》取出指定列的数据 select id ,name as NM from info; #取出id,名字将列名命名为NM select id ,name as NM ,132 from info #取出id,名字将列命名为NM,增加123列并以123命名;
2.获取指定列(嵌套查询)
select id, name, 666 as num, (select max(id) from depart) as mid,#取出depart表中的id最大值,以mid为列名增加最大值列 (select min(id) from depart) as nid,#这两个只能去除一个值作为定量去查询 age from info;
3.获取指定列(条件查询):
select id, name, 666 as num, (select title from depart where depart.id = info.depar) as x1 from info; 注:需要将两张表中的每条数据进行对比取出符合条件的id,然后查询title列,将其放入x1中。 查询效率相对比较低,如果数据量过大尽量不要使用。
4.获取指定列(多条件查询)
select id, name, case depart_id when 1 then "第一部门" end v1, case depart_id when 1 then "第一部门" else "其他" end v2, case depart_id when 1 then "第一部门" when 2 then "第二部门" else "其他" end v2, case when age<18 then "少年" end v4 case when age<18 then "少年" else "油腻男" end v5, case when age<18 then "少年" when age<30 then "青年" else "油腻男" and v6 from info;
5.排序
selesct * from info order by age desc;#取出info中所有的数据通过age进行倒序排列 select * from info order by age asc; 注:order by:排序 desc:倒序排列=>从大到小 asc: 顺序排列=>从小到大
select * from info order by age asc , id desc; select * from info where id >10 order by age asc ,id desc;#取出info中age大于10的数据然后先通过age进行顺序排列,相同的通过id进行倒序排列 select * from info where id >6 order or name like "%y" order by age asc ,id desc; 注:优先级:从左往右
6.取部分数据:
select * from info limit 5; #取出前五条数据 select * from info order by id desc limit 3; #先进行倒序排列然后取出前五条数据 select * from info where id > 10 order by id desc limit 3; 先取出id大于10 的数据然后进行倒序排列取出前三条 select * from info limit 3 offset 2;#从第二个位置取三条数据 注:limit:用于取出范围,offset:取值的起始位置