SQL语句基础知识
Posted xijin_wu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句基础知识相关的知识,希望对你有一定的参考价值。
1、关于SQL语句中exists与not exists的问题
course表如下:
课程代号 课程名称
K01 奥运会主题曲
K02 喜爱的专辑
K03 VB技术大全
K04 经典歌曲
K05 个人单曲
K06 数据结构
K07 最受欢迎的歌曲
grade表如下:
学号 课程代号
B003 k03
B005 K02
B003 K05
B004 K04
B002 K02
B001 K01
B001 K06
现用SQL语句(1)查询:
select * from course where not exists(select * from grade where grade.课程代号=course.课程代号)
得到结果为:
K07 最受欢迎的歌曲
EXISTS或者NOT EXISTS是把主查询的字段传到后边的查询中作为条件,返回值是TRUE或者FALSE。EXISTS TRUE,那么就是查询条件成立,结果会显示出来。
NOT EXISTS TRUE,则为FALSE,查询连接条件不成立。
select * from course where not exists(select * from grade where grade.课程代号=course.课程代号)
这个语句,是查询course表中课程代号在grade中没有出现的数据。
看看grade表,课程编号有K01到K06,而COURSE表,有K01到K07,那么K07在GRADE表是不存在的,那么,是符合条件的。
同样select * from course where exists(select * from grade where grade.课程代号=course.课程代号)
则是查询COURSE的记录条件为编号在GRADE中存在。那么很明显,结果是K01到K06的数据。
另外,EXISTS和NOT EXISTS的作用可以用IN或NOT IN实现,但是,效率要高。
2、关于SQL语句中select 1 from table
select 1 from 中的1是一常量(可以为任意数值),查到的所有行的值都是它,每行的列值是写在select后的数,这条sql语句中是1
3、关于SQL语句中as的作用
as的作用是取别名,如:
SELECT * FROM Employee AS emp 这句意思是查找所有Employee 表里面的数据,并把Employee表格命名为 emp。 当你命名一个表之后,你可以在下面用 emp 代替 Employee.
以上是关于SQL语句基础知识的主要内容,如果未能解决你的问题,请参考以下文章