DQL:基础查询,条件查询

 1 CREATE TABLE student(
 2  id INT, -- 编号
 3  NAME VARCHAR(20), -- 姓名
 4  age INT, -- 年龄
 5  sex VARCHAR(5), -- 性别
 6  address VARCHAR(100), -- 地址
 7  math INT, -- 数学
 8  english INT -- 英语
 9 );
10 INSERT INTO student(id,NAME,age,sex,address,math,english) VALUES (1,'马云',55,'','
11 杭州',66,78),(2,'马化腾',45,'','深圳',98,87),(3,'马景涛',55,'','香港',56,77),(4,'柳岩
12 ',20,'','湖南',76,65),(5,'柳青',20,'','湖南',86,NULL),(6,'刘德华',57,'','香港',99,99),(7,'马德',22,'','香港',99,99),(8,'德玛西亚',18,'','南京',56,65);
13 
14 
15 SELECT *FROM student;
16 
17 DROP TABLE student;
18 
19 -- 查询姓名和年龄
20 SELECT 
21       NAME, -- 姓名
22       age  -- 年龄
23 FROM
24       student; -- 学生表
25 SELECT address FROM student;
26 
27 -- 去除重复的结果集
28 SELECT DISTINCT address FROM student;
29 
30 SELECT NAME ,address FROM student;
31  
32 -- 计算数学和英语的分数之和
33 
34 SELECT NAME,math,english,math+english FROM student;
35 
36 -- 如果有null参与运算,计算结果都为null
37 
38 SELECT NAME,math,english,math+IFNULL(english,0) FROM student;
39 
40 -- 起别名
41 
42 SELECT NAME,math,english,math+IFNULL(english,0) AS 总分 FROM student;
43 
44 SELECT NAME,math 数学,english 英语,math+IFNULL(english,0) 总分 FROM student;
45 
46 -- 查询年龄大于20岁
47 
48 SELECT *FROM student WHERE age>20;
49 
50 -- 查询年龄等于20岁
51 
52 SELECT *FROM student WHERE age=20;
53 
54 -- 查询年龄不等于20岁
55 
56 SELECT *FROM student WHERE age!=20;
57 
58 -- 查询年龄不等于20岁
59 
60 SELECT *FROM student WHERE age<>20;
61 
62 -- 查询年龄大于等于20小于等于30
63 
64 SELECT *FROM student WHERE age>=20 && age<=30;
65 SELECT *FROM student WHERE age>=20 AND age<=30;
66 SELECT *FROM student WHERE age BETWEEN 20 AND 30;
67 
68 -- 查询年龄22岁,18岁,25岁的信息
69 
70 SELECT *FROM student WHERE age=22 OR age=18 OR age=25;
71 SELECT *FROM student WHERE age IN (22,18,25);
72 
73 -- 查询英语成绩为null
74 
75 SELECT *FROM student WHERE english IS NULL;
76 
77 -- 查询英语成绩不为null
78 
79 SELECT *FROM student WHERE english IS NOT NULL;
80 
81 -- 查询姓马的有哪些? like
82 SELECT *FROM student WHERE NAME LIKE '马%';
83 
84 -- 查询姓名第二个字是化的人
85 SELECT *FROM student WHERE NAME LIKE '_化%';
86 
87 -- 查询姓名是3个字的人
88 SELECT *FROM student WHERE NAME LIKE '___';
89 
90 
91 -- 查询姓名包含马的人
92 SELECT *FROM student WHERE NAME LIKE '%马%';

 

posted @ 2021-03-28 19:55  丁帅帅dss  阅读(61)  评论(0)    收藏  举报