SQL查询语言

1.DQL查询语句

        通过特定的sql语句,请求服务器,查到符合规则的数据。把结果集返回。

        返回的结果集是一张虚拟的表,查询不会改变数据库中的数据

        1.1一般查询

语法格式:
	select 字段1,字段2 ... from 表名
	单列查询
		select name from student;
	多列查询
		select id,name from student;
	查询所有列,* 表示通配符
		select * from student;
	行排重,重复名称的只显示一条
		select distinct name from student;

        单表带列排序查询

语法格式:select 字段1,字段2 ...from 表名  order by 字段  asc|desc
asc 升序  不写的话默认是升序
desc 降序 需要降序必须给出

如果id相等,那么按照name排序
    SELECT * FROM student ORDER BY class_id,stu_name ;

      单表查询结果分页LIMIT

limit后面可以有一个参数,可以有两个参数
一个参数时代表:
        假如参数是n,那么就返回前n行查询的结果
        假如有两个参数,为n和f,那么从第n个结果开始,返回f个结果
        结果集是有索引的,索引从0开始
 使用limit可以对结果集分页,可以实现分页查询的效果
 
select * from tableName limit 5; --返回前5行
		select * from tableName limit 0,5; --同上,返回前5行(从0开始,查5个返回去)
		select * from tableName limit 5,10; --返回6-15行(从5开始,查10个返回去)
     定义表别名:当给表定义别名后,表内的字段前要加别名.
        select t.STUDENT_ID from student_tbl t     或
        select t.STUDENT_ID from student_tbl as t
    定义列别名
        select STUDENT_ID as 学生id from student_tbl         或 
        select STUDENT_ID 学生id from student_tbl 

         1.2复杂查询

                   where条件查询

语法格式:
	select 字段1,字段2 ...	from 表名	[where 条件表达式语句]  
		select * from student where name=‘zhangsan’
		select * from student where student_id between'10002' and '10005';
 	where条件用于确定选择哪行,只有满足where条件的记录才会被选择出来
	where子句后面的操作符

默认情况下 and优先级比or优先级高 上面语句如果不加()是这样结合的:classid=1 or (classid=2 and address = beijing)
IN操作
in操作是查询某个字段是否在in的值里面。
in 和 or 都能实现同样的查询结果,但or效率比较低,建议用in。
NOT IN 操作

    模糊查询like

     % 表示任何字符出现任意次数
    下划线的用途与%一样,但它只匹配单个字符,而不是多个字符

定义别名 

     定义表别名:当给表定义别名后,表内的字段前要加别名.
        select t.STUDENT_ID from student_tbl t     或
        select t.STUDENT_ID from student_tbl as t
    定义列别名
        select STUDENT_ID as 学生id from student_tbl         或 
        select STUDENT_ID 学生id from student_tbl 

聚合函数--用于纵向操作

Mysql没有连接符,由concat函数代替
select CONCAT(STUDENT_ID, STUDENT_NAME) from student_tbl

求和函数——sum()
	求和函数用于对数据求和,sum()函数只能作用于数值型数据。

计数函数——count()
COUNT(要计数的字段)函数进行计数使用,忽略NULL值

max()/min()函数  最大/最小值
	列字段类型可以是数值、字符串、日期时间 数据类型
均值函数——avg()
	avg()只能作用于数值



    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值