sql查询相同数据序号递增_运⽤SQL对数据进⾏简单查询
⼀、基本的查询语句
1.1 从表中查询所有的⾏和列
SELECT * FROM [table name]
注意:⼀般⽽⾔,除⾮确实需要⽤到表中的每⼀列,否则最好别使⽤*通配符。虽然使⽤通配符可以让⾃⼰省事,不⽤明确列出所需列,但检索不需要的列通常会降低检索和应⽤程序的性能。
此外,使⽤*通配符⽆法设定列的显⽰顺序了。这时就会按照CREATE TABLE语句的定义对列进⾏排序。
1.2 从表中查询特定的列
SELECT [column name1], [column name2], .... [column name N] FROM [table name]
注意:查询结果中列的顺序和 SELECT ⼦句中的顺序相同。
1.3 列重命名
SELECT [old column name] AS [new column name] FROM [table name]
设定汉语别名时需要使⽤双引号(")括起来。
注意:在where⼦句中引⽤重命名的列名会报错
举例:
where⼦句是在select之前处理的,也就是说在执⾏where语句时,student_id这⼀列并不存在,因此系统报错。
原因:where⼦句是在select之前处理的
解决⽅案:将查询作为内联视图
之前提到了where⼦句在select⼦句之前执⾏,因此在where⼦句中引⽤重命名的列会报错,但是将查询作为内联视图可解决这个问题,因from⼦句在where⼦句之前执⾏。
为from⼦句在where⼦句之前执⾏
1.4 查询常数
SELECT 'text' AS [column name],
number AS [column name],
'date' AS [column name]mysql删除重复的数据保留一条
FROM [table name]
1.5 查询不重复的信息/删除重复⾏
SELECT DISTINCT [column name] FROM [table name]
注意:
1. 如果将 DISTINCT 放在多个列名前,则删除的的是所有列信息均相同的⾏。
2. 在使⽤ DISTINCT 时,NULL 也被视为⼀类数据。NULL 存在于多 ⾏中时,也会被合并为⼀条 NULL 数据。
3. DISTINCT 关键字只能⽤在第⼀个列名之前。 因此 SELECT id, DISTINCT c_name FROM classes 会报错。
1.6 连接列值
SELECT CONCAT([column name 1], [column name2], .... [column name N]) AS [new column name] FROM [table name]
提⽰:在使⽤CONCAT连接列的同时,可以结合RTRIM, LTRIM和TRIM函数去掉空格。
1.6 限制返回⾏数
SELECT ... FROM ... LIMIT N
1.7 跳过某些⾏
SELECT ... FROM ... LIMIT N1 OFFSET N2
LIMIT 指定返回的⾏数,LIMIT 带的 OFFSET 指定从哪⼉开始。
MySQL⽀持简化版的 LIMIT 4 OFFSET 3 语句,即 LIMIT 3,4。 使⽤这个语法,逗号之前的值对应 OFFSET,逗号之后的值对应LIMIT。
1.8 随机返回N条记录
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论