資料庫學習筆記二 複雜語句(1)

2021-10-10 17:07:02 字數 2568 閱讀 5279

這幾個語句都是用於篩選出特定條數的資料(一般大型資料庫常用)

變相返回後 n 行:

--前5行

select

top 5 * from table

--後5行

select

top 5 * from table order by id desc --desc 表示降序排列 asc 表示公升序

like 操作符用於在 where 子句中搜尋列中的指定模式。

like , not like :複雜過濾,模糊匹配 like 函式

sql like 語法

select column_name(s) from table_name where column_name like pattern;

萬用字元符號描述

%替代 0 個或多個字元

_替代乙個字元

[charlist]

字元列中的任何單一字元

[^charlist]或[!charlist]

不在字元列中的任何單一字元

下面的 sql 語句選取 name 以 「g」、「f」 或 「s」 開始的所有**:

例項select * from websites where name regexp '^[gfs]';

下面的 sql 語句選取 name 以 a 到 h 字母開頭的**:

例項select * from websites where name regexp '^[a-h]';

下面的 sql 語句選取 name 不以 a 到 h 字母開頭的**:

例項select * from websites where name regexp '^[^a-h]';

pattern詳情:

語句描述

『%a』

以a結尾的資料

『a%』

以a開頭的資料

『%a%』

含有a的資料

『a』三位且中間字母是a的

『_a』

兩位且結尾字母是a的

『a_』

兩位且開頭字母是a的

% 代表任意多個字元(可以是 0 個),_ 代表乙個字元,__ 代表兩個字元。

in 操作符允許在 where 子句中規定多個值。

sql in 語法:

select column_name(s) from table_name where column_name in (value1,value2,...);

//例:選取 name 為 "google" 或 "菜鳥教程" 的所有**:

select * from websites

where name in (

'google','菜鳥教程'

);

in 與 = 的異同

相同點:均在where中使用作為篩選條件之

一、均是等於的含義

不同點:in可以規定多個值,等於規定乙個值

in:select column_name(s) from table_name where column_name in (value1,value2,...);

=:select column_name(s) from table_name where column_name=value1;

in 與 = 的轉換

select * from websites where name in ('google','菜鳥教程');

可以轉換成 = 的表達:

select * from websites where name='google' or name='菜鳥教程';

between 操作符選取介於兩個值之間的資料範圍內的值。這些值可以是數值、文字或者日期。

sql between 語法

select column_name(s) from table_name where column_name between value1 and value2;

not between

如需顯示不在範圍內的屬性,使用 not between

例:在不同的資料庫中,between 操作符會產生不同的結果

在某些資料庫中,between 選取介於兩個值之間但不包括兩個測試值的字段。

在某些資料庫中,between 選取介於兩個值之間且包括兩個測試值的字段。(在 mysql 中)

在某些資料庫中,between 選取介於兩個值之間且包括第乙個測試值但不包括最後乙個測試值的字段。

通過使用 sql,可以為表名稱或列名稱指定別名。

基本上,建立別名是為了讓列名稱的可讀性更強。

使用別名的情景:

1.在查詢中涉及超過乙個表

2.在查詢中使用了函式

3.列名稱很長或者可讀性差

4.需要把兩個列或者多個列結合在一起

「你被安穩地愛著呢,應該有做任何事的勇氣」

資料庫學習筆記四 複雜語句(3)

union 操作符用於合併兩個或多個 select 語句的結果集。union 內部的每個 select 語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每個 select 語句中的列的順序必須相同。語法 select column name s from table1 union sel...

Sql語句學習筆記 1 建立資料庫

說明 建立乙個影碟租賃管理系統,這裡主要抽象了四張表 tb user 使用者資訊 tb movie type 影片型別 tb movie 影片資訊 tb retal 租賃記錄 use master 系統表,所有建立的資料庫均在此被記錄 go 檢測是否已經存在retadb這個資料庫,有的話,不能重名,...

資料庫學習筆記(SQL語句)

根據已有的表或查詢結果來建立表 create table like會根據原有表建立乙個新錶。該語句會完整的複製原有表的結構以建立乙個新的空表。如果想插入資料,還需要另外的插入語句 如insert into select 但它不能只選原表的某幾列或其他表中的列。create table select可...