MySQL資料庫操作中常用的一些SQL語句

2021-08-30 10:17:33 字數 3893 閱讀 3347

1.單句sql語句,從檢視中查詢結果

select c.product_no, c.product_flag

from

( select a.product_flag,b.product_no

from product_category

as a

join product

as b

on (a.product_category_no=b.product_type))

as c

where c.product_no=8

2.根據「年費」查詢多個字段

select product_no,product_property_no,product_property_detail_content    

from product_property_detail    

where product_property_name="年費"

and (product_property_detail_content

between 360

and 500)

3.子查詢轉化「編號」為「名字」

select product_no,product_name,creditcard_rating,

(select bank.bank_name

from bank

where bank.bank_no=product.company_no)

as company_no,product_desc

from product

where product_type=12

and company_no= 2    

4.聯合查詢得詳細資訊

select

( select product_property_detail_content

from product_property_detail

where product_no=8

and product_property_no=30)

as dhsx,

product_function

as jbgn,

((select c.product_flag

from (

select a.product_flag,b.product_no

from product_category

as a

join product

as b

on (a.product_category_no=b.product_type))

as c

where c.product_no=8 ) )

as cplb    

from    product

where product_no=8

5.union操作

select product_no    

from product_property_detail    

where product_property_no=3

and (product_property_detail_content

between 360

and 500)    

union

allselect product_no

from product

where product_type=12

and company_no= 2    

order

by product_no

6.多條件查詢

select (

select product_property_name

from product_property

as a

where a.product_property_no=product_property_detail.product_property_no)

asname,product_property_detail_content

as jbgn

from product_property_detail

where product_no=8

and(product_property_no=1

or product_property_no=13

or product_property_no=14

or product_property_no=15 )

7.in語句

select product_no

from product

where product_no    

in( select product_no

from product

where creditcard_rating="金卡")

8.求合集

select *

from (

select product_no    

from product_property_detail    

where product_property_no=3

and (product_property_detail_content

between 360

and 500) )

as a

inner

join

( select product_no

from product

where product_type=12

and company_no= 2 )

as b

on    a.product_no=b.product_no    

9.exists better than in

背景介紹:product_property_detail表中 product_property_no為種類, product_no為商品標號,他們為多對多關係,主鍵為: product_property_detail_no,該錶只有種類和商品號確定才能找到該唯一的記錄號!

測試:找每種種類中商品標號最大的那個商品

方案一:in方式

select product_property_no,product_no,product_name

from product_property_detail a

where product_no

in (

select

max(product_no)

from product_property_detail    

where product_property_no = a.product_property_no     )

結果:42 rows

inset (40.10 sec)

方案二:exists方式

select product_property_no,product_no,product_name

from product_property_detail a

where

notexists (

select 1

from product_property_detail    

where product_property_no = a.product_property_no

andproduct_no > a.product_no )

結果:42 rows

inset (14.69 sec)

小結:在查詢複雜關係的資料時候exists會有更好的效率!

本文出自 「專注j2ee系列規範下的開源技術

」 部落格,請務必保留此出處

本文出自 51cto.com技術部落格

資料庫中常用的操作語句

1.顯示資料庫列表 show databases 用於可檢視你當前一共有多少個資料庫!2.使其成為當前運算元據庫 use mysql 開啟資料庫.選擇進入你想進入的資料庫 show tables 顯示mysql資料庫中的資料表.顯示的是你輸入的資料庫當中的所有表 3.顯示資料表的表結構 descri...

Qt中常用的資料庫操作

簡述 常用的資料庫操作主要有查詢 插入 刪除等 qsqldatabase建立連線資料庫例項,乙個qsqldatabase的例項代表乙個資料庫的連線。qt 提供了對不同資料庫的驅動支援 driver type description qdb2 ibm db2 qibase borland interb...

mysql 資料庫常用操作(一)

目錄 1.變更表字段的名稱 長度 型別 注釋 2.crud 資料庫基本操作 3.時間操作常用變數注釋 變數名 含義tname 表的名稱 colname 列的名稱 newval 新的值 一 變更表字段的名稱 長度 型別 注釋 更改字段屬性 型別 長度 是否為null 注釋 alter table tn...