查询数据(重点)

6.1 查询所有列:

-- 2.1 查询所有列

SELECT * FROM student;

6.2 查询指定列:

-- 2.2 查询指定列

SELECT id,NAME,gender FROM student;

6.3 查询时添加常量列:

-- 2.4 查询时添加常量列

-- 需求: 在查询student表时添加一个班级列,内容为“java就业班”

SELECT id,NAME,gender,age,'java就业班' AS '年级'  FROM student;

6.4 查询时合并列:

 

-- 2.5 查询时合并列

-- 需求: 查询每个学生的servlet和jsp的总成绩

SELECT id,NAME,(servlet+jsp) AS '总成绩' FROM student;

-- 注意:合并列只能合并数值类型的字段

SELECT id,(NAME+servlet) FROM student;

 

6.5 查询时去除重复记录:

-- 2.6 查询时去除重复记录(DISTINCT)

-- 需求: 查询学生的性别     男 女

SELECT DISTINCT gender FROM student;

-- 另一种语法

SELECT DISTINCT(gender) FROM student;

-- 需求: 查询学生所在的地区

SELECT DISTINCT address FROM student;

 

6.6 条件查询:

-- 2.7 条件查询(where)

-- 2.7.1 逻辑条件: and(与)     or(或)

-- 需求: 查询id为2,且姓名为李四的学生

SELECT * FROM student WHERE id=2 AND NAME='李四'; -- 交集

 

-- 需求: 查询id为2,或姓名为张三的学生

SELECT * FROM student WHERE id=2 OR NAME='张三'; -- 并集

 

-- 2.7.2 比较条件: >   <   >=  <=  =  <>(不等于) between and (等价于>= 且 <=)

-- 需求: 查询servlet成绩大于70分的学生

SELECT * FROM student WHERE servlet>70;

 

-- 需求: 查询jsp成绩大于等于75,且小于等于90分的学生

SELECT * FROM student WHERE jsp>=75 AND jsp<=90;

-- 另一个语法

SELECT * FROM student WHERE jsp BETWEEN 75 AND 90; -- (包前包后)

 

SELECT * FROM student WHERE gender<>'男';

 

 

-- 2.7.3 判空条件(null 空字符串):  is null / is not null / =''  / <>''

-- 需求: 查询地址为空的学生(包括null和空字符串)

-- null vs  空字符串

-- null:表示没有值

-- 空字符串:有值的,但是值是空字符串

-- 判断null

SELECT * FROM student WHERE address IS NULL ;

-- 判断空字符串

SELECT * FROM student WHERE address='';

 

SELECT * FROM student WHERE address IS NULL OR address=''; -- (包括null和空字符串)

 

-- 需求: 查询有地址的学生(不包括null和空字符串)

SELECT * FROM student WHERE address IS NOT NULL AND address<>'';

 

-- 2.7.4 模糊条件: like

-- 通常使用以下替换标记:

-- % : 表示任意个字符

-- _ : 表示一个字符 

-- 需求: 询姓‘张’的学生

SELECT * FROM student WHERE NAME LIKE '张%';

 

-- 需求: 查询姓‘李’,且姓名只有两个字的学生

SELECT * FROM student WHERE NAME LIKE '李_';

posted on 2022-04-10 15:48  博塬  阅读(104)  评论(0编辑  收藏  举报