SQL学习之旅(一)
SELECT - 从数据库中提取数据
SELECT就好比关系代数中的投影一样,利用T-SQL语句可以将表显示出来
SQL SELECT 语法
SELECT column_name,column_name
FROM table_name;
与
SELECT * FROM table_name;
图1:表Course中的数据
新建查询后可以调出数据
SELECT * FROM Course
图2:
SELECT调出特定的列
图3:
在表中,一个列可能会包含多个重复值,可以利用DISTINCT关键字
SQL SELECT DISTINCT 语法
SELECT DISTINCT column_name,column_name
FROM table_name;
图4:
如果要在列中加限制,也就是关系代数中的选择,可以利用WHERE关键字
SQL WHERE 语法
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
图5:
这里要注意,加限制时数字不用加两个单引号,但是字符串需要加单引号,双引号也可以(大部分场景适用),推荐使用单引号。
and
图6:
Not:满足不包含该条件的值
图7:
空值判断: is null
图8:
between (不同数据库包含会不一样,这里是包含两头,区别于图6)
图9:
In(特定值)
图10:
ORDER BY: ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。
SQL ORDER BY 语法
SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;
默认就是升序排序的
图11:
加DESC关键字就是降序排序
图12:
注意多列的时候,比如
SELECT * FROM Course
ORDER BY Ccredit, Cno;
先按照Ccredit升序排序,如果遇到相同再按照Cno进行升序排序。
SELECT * FROM Course
ORDER BY Ccredit DESC, Cno;
先按照Ccredit降序排序,如果遇到相同再按照Cno进行升序排序。
SELECT * FROM Course
ORDER BY Ccredit, Cno DESC;
先按照Ccredit升序排序,如果遇到相同再按照Cno进行降序排序。
SELECT * FROM Course
ORDER BY Ccredit DESC, Cno DESC;
先按照Ccredit降序排序,如果遇到相同再按照Cno进行降序排序。
如有不足,欢迎各位大佬指正