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

posted @ 2022-09-09 16:58  T404z  阅读(33)  评论(0)    收藏  举报