SQL之SELECT FROM
1.查看表student中所有的信息。
SELECT *
FROM student;

2.查看表student中"name"。
SELECT name
FROM student;

3.查看表student中"name","age"。
SELECT name,age
FROM student;

4.查看表student中name为Tom的"name","age"。
SELECT name,age
FROM student
WHERE name='Tom';

5.查看表student中name含o的学生的"name","age"。
SELECT name,age
FROM student
WHERE name LIKE '%o%';

6.查看表student中name以m结尾的学生的"name","age"。
SELECT name,age
FROM student
WHERE name LIKE '%m';

7.查看表student中name以L开头的学生的"name","age"。
SELECT name,age
FROM student
WHERE name LIKE 'L%';

8.查看表student中id在5-10之间的学生的"name","age"。
方法一:SELECT id,name,age FROM student WHERE number BETEEN 5 AND 10;
方法二:SELECT id,name,age FROM student WHERE number >= 5 AND number <= 10;

9.按age从高到低显示学生信息。
SELECT *
FROM student
ORDER BY age DESC;

10.按age从低到高显示学生信息。
SELECT *
FROM student
ORDER BY age ASC;
#上面语句中的ASC可以省略,也是按升序显示。

11.使用列的别名进行排序。
SELECT name,age a
FROM student
ORDER BY a DESC;

12.多级排序。
SELECT id,name,age
FROM student
ORDER BY age DESC,id ASC;

13.分页显示,每页显示5(pageSize)条记录,此时显示第3(pageNo)页。
SELECT name,age
FROM student
LIMIT 10,5 ;
#LIMIT (pageNo-1)*pageSize,pagesize;

14.表里有15条记录,只显示12、13两条记录。
SELECT name,age
FROM student
LIMIT 2 OFFSET 11 ;

15.多表联查(内连接)。
SELECT s.name,s.age,c.classmessage
FROM student s,classmessage c
WHERE s.class_id = c.class_id
#如果有n个表实现多表联查,那么至少得有n-1个连接条件。
#内连接(合并具有同一列的两个以上的表的行,结果集中包含一个表和另一个表不匹配的行)

16.多表联查(内连接)。
SELECT s.name,s.age,c.classmessage,c.class_id
FROM student s
JOIN classmessage c
ON s.class_id = c.class_id

17.左连接。
SELECT s.name,s.age,c.classmessage,c.class_id
FROM student s
LEFT JOIN classmessage c
ON s.class_id = c.class_id

18.右连接。
SELECT s.name,s.age,c.classmessage,c.class_id
FROM student s
RIGHT JOIN classmessage c
ON s.class_id = c.class_id

19.满连接,UNION ALL
SELECT s.name,s.age,c.classmessage,s.class_id
FROM student s
LEFT JOIN classmessage c
ON s.class_id = c.class_id
WHERE s.class_id IS NULL
UNION ALL
SELECT s.name,s.age,c.classmessage,s.class_id
FROM student s
RIGHT JOIN classmessage c
ON s.class_id = c.class_id;

20.自然连接
SELECT s.name,s.age,c.classmessage,s.class_id
FROM student s
NATURAL JOIN classmessage c;
#NATURAL JOIN,他会帮你自动查询两张连接表中‘所有相同的字段’,然后进行‘等值连接’。

21.using
SELECT s.name,s.age,c.classmessage,s.class_id
FROM student s
JOIN classmessage c
USING( class_id);

1908

被折叠的 条评论
为什么被折叠?



