SQL理论课-Class 1

2023-02-27 13:58:54 浏览数 (1)

SQL-Note 1:

–查询语句:

代码语言:javascript复制
select name(一个或多个属性)

from instructor(一个或者多个表)

where dept_name = 'cs'(满足条件)

练习:找到导师表中的系名

select dept_name

from instructor

找到表中所有属性:

select * –但是这个在计算机中处理效率没有一个个都列出来的效率高。

from instructor

注意:

select dept_name from instructor

当有多个导师属于一个系,

就会有重复

代码语言:javascript复制
--去重复:

select distinct dept_name

from instructor
代码语言:javascript复制
select distinct dept_name,id

from instructor

–像这样去重复多个元素,去除的是满足这两个条件出来的 重复行

–注意:distinct前面没有属性,只能后面添加一个或者多个属性

代码语言:javascript复制
select distinct 主码

from 表

结果相当于没有distinct,但是效率会变低。

– select中的属性可以进行操作,还可以是函数调用。但是不会修改数据库中数据

代码语言:javascript复制
select salary*1.1

from instructor

找导师工资出来,输出结果为1.1倍原工资数据

--

and or not 组成:复合条件 和 where 连用

代码语言:javascript复制
select salary>8000 and dept_name = 'cs'

–用as起名字:

代码语言:javascript复制
select salary*1.1 as over_salary

 from instructor

–字符串处理函数:

代码语言:javascript复制
字符串1 字符串2 :字符串拼接

upper(字符串)

lower(字符串)

–字符串匹配:

代码语言:javascript复制
-'Intro%' --寻找开头为Intro

-'�c%'  --寻找中间含有abc

-'___'   --寻找三位长度

-'___%'  --寻找至少三位
代码语言:javascript复制
select name

from instructor

where name like '�c%' --注意用like进行筛讯

定义转义字符

–数字区间条件:between and:

代码语言:javascript复制
select name

from instructor

where salary between 9000 and 10000

–多条件匹配

代码语言:javascript复制
select name, course_id

from instructor, teaches

where (instructor.ID, dept_name) = (teaches.ID, ’Biology’);

–排序:desc降序 asc升序

代码语言:javascript复制
– Example: order by name desc

Can sort on multiple attributes

– Example: order by dept_name, name --按照两个元素排序,字符串首字母。

0 人点赞