SQL新手速学->第一课
开门见山,sql里的大小写不敏感,SELECT和select没有差别,不过默认用大写。
先提供一个数据表:
date_table:
+----+--------------+------------------------------+
| id | name | age | rank | university |
+----+--------------+-----------------------------+--+
| 1 | 李华 | 23 | 1 | 水木大学 |
| 2 | 王二麻子 | 28 | 3 | 魔都大学 |
| 3 | 张三 | 18 | 2 | 五道口职业技术学院 |
| 4 | 李四 | 21 | 5 | 哈坲大学 |
| 5 | 王五 | 24 | 4 | 五道口职业技术学院 |
+----+--------------+---------------------------+----+
查询语句:SELECT
查询数据表所有列:SELECT * FROM date_table;
--这里的*号是通配符,意思是全部所有,select是查询的意思,From是来源来处的意思,date_table是数据表的名称;查询来自date_table表里的所有数据。
查询多列:SELECT age,rank FROM date_table;
去重:DISTINCT
SELECT DISTINCT age FROM date_table;
注意 DISTINCT 要放到列名的前面。
过滤记录:WHERE
查询结果被限制返回:
SELECT name FROM date_table
WHERE id in(1,2);
查询用户信息表中取出满足条件的数据,结果返回id和学校。
SELECT id,university FROM date_table
WHERE university="五道口职业技术学院"
查找年龄大于24岁的用户信息
SELECT name,age,rank FROM date_table
WHERE age>"24";
查找一范围内用户信息
select id,name,age
FROM date_table
where age>="20" and age<="23"
查找时根据条件去除
select id,age,university
FROM user_profile
where university != '哈坲大学'
过滤空值
select device_id,gender,age,university FROM user_profile
WHERE age is not null
或者
select device_id,gender,age,university FROM user_profile
WHERE age!=“ ”
重命名列和表:AS
SELECT name AS aaa FROM date_table WHERE id in(1,2);
多条件筛选:in
select id,name,age,university,rank
FROM date_table
WHERE university in ("华科大","哈坲大学","魔都大学")
操作符混合运用
select id,name,age,university,rank
FROM date_table
where
(age > 20 and university = '五道口职业技术学院') or (age > 23 and university = '魔都大学')
搜索列中的指定模式:like
查看学校名称中含职业的用户
SELECT device_id,age,university FROM user_profile
WHERE university like '%职业%'
最大值:MAX
查找age最高值
SELECT MAX(age) from date_table
坚持swaggy p

浙公网安备 33010602011771号