❶ sql怎麼樣查詢以a或b開頭的名字信息
select *
from your_table
where col_name like 'a%' or col_name like 'b%' ;
❷ 在sql查詢欄位中怎麼去判斷是以某字母開頭
方法1:用%即可達到。
例如:SELECT*FROMusersWHEREemaillike"%b@email.com%"。
方法2:使用mysql字元串函數find_in_set();
SELECT*FROMusersWHEREfind_in_set('aa@email.com',email);
注意,mysql字元串函數find_in_set(str1,str2)返回str2中str1的位置索引,str2必須被分割成「,」。
方法3:多值模糊查詢,使用mysql正則:REGEXP。
這個方法相當於(比如'%1%'或'%3%'或'%5%')。
從'by_content'中選擇*,其中標題REGEXP'(1|,3|5)'。
(2)員工id以b開頭的sql擴展閱讀:
Mysql字元串函數:FIND_IN_SET()
語法:
strlistFIND_IN_SET(STR)
第一個參數STR是要查找的字元串。
第二個參數strlist是要搜索的字元串的逗號分隔列表。
如果字元串STR位於由N個子鏈組成的字元串列表中,則返回值的范圍為1到N。
字元串列表是由','符號分隔的子鏈組成的字元串。如果第一個參數是常量字元串,第二個參數是類型集列,則FIND_IN_SET()函數被優化為使用位。
如果STR不在strlist中,或者strlist是空字元串,則返回值為0。如果任何參數為空,則返回值為空。當第一個參數包含逗號(',')時,此函數將無法正常工作。
❸ 用SQL計算年假的問題
select 員工ID,員工工號,員工姓名,入職日期,
case when DATEDIFF(mm,入職日期,getdate())<=3 then 0
when DATEDIFF(mm,入職日期,'2014-08-01') then a.剩於年假+DATEDIFF(mm,'2014-08-01',getdate())
else DATEDIFF(mm,入職日期,getdate() end as 可休年假
from 人事表 a
left join 截止年假剩餘表 b on a.員工ID=b.員工ID
❹ 用一條SQL語句查詢出所有員工姓名的字母前三位
sql中按姓名拼音排序
select
isnull(b.py,upper(left(a.username,1)))
as
py
,a.username
from
(
select
'a3'
as
username
union
select
username
from
usertable
--修改這里的姓名列~
)
a
left
outer
join
(
select
'a'
as
py,n'驁'
as
word,
n'啊'
as
sword
union
select
'b',n'簿',n'驁'
union
select
'c',n'錯',n'簿'
union
select
'd',n'鵽',n'錯'
union
select
'e',n'樲',n'鵽'
union
select
'f',n'鰒',n'樲'
union
select
'g',n'腂',n'鰒'
union
select
'h',n'夻',n'腂'
union
select
'j',n'攈',n'夻'
union
select
'k',n'穒',n'攈'
union
select
'l',n'鱳',n'穒'
union
select
'm',n'旀',n'鱳'
union
select
'n',n'桛',n'旀'
union
select
'o',n'漚',n'桛'
union
select
'p',n'曝',n'漚'
union
select
'q',n'囕',n'曝'
union
select
'r',n'鶸',n'囕'
union
select
's',n'蜶',n'鶸'
union
select
't',n'籜',n'蜶'
union
select
'w',n'鶩',n'籜'
union
select
'x',n'鑂',n'鶩'
union
select
'y',n'韻',n'鑂'
union
select
'z',n'咗',n'韻'
)
b
on
left(username,1)
between
b.sword
and
b.word
where
username<>'a3'
and
py='a'
--這里的and
py='a'是查詢以a拼音開頭的姓名,你可以
改成其他的,或者直接去掉就是查詢所有的~
order
by
py
❺ sql 如果a表有人員Id ,b表有人員Id和部門Id ,那怎麼把a表按部門Id分組,怎麼寫groupby
select b.部門Id,a.人員Id
from a as a,b as b
where a.人員Id =b.人員Id
group by b.部門Id,a.人員Id
❻ 超簡單的SQL
那麼改成下面的樣子試試:
select b.dept_name,max(a.emp_gg)
from emp as a,dept as b
where a.emp_dept_id = b.dept_id
group by b.dept_name --注意,這里變了
order by max(a.emp_gg) desc
❼ 用一條SQL語句顯示所有人員的姓名及所在部門
0分啊.......只給你第一題的代碼好了
select 部門.部門ID,isnull(部門.部門名稱,'未標志') ,人員.人員ID,人員.人員姓名
from 部門 right join 人員 on 人員.部門ID = 部門.部門ID
第二題以部門為數據源做一個DATAGRID,裡面再套一個DATAGRID,以人員為數據源,使用第一個DATAGRID的部門ID為條件篩選。
❽ 給你一張員工表,然後再給你一張職位表, 然後要你寫出這個職位所對應的平均工資進行降序排列。 sql怎寫
不知道你的具體表結構是什麼樣的,
暫且設定工資列在員工表裡,並且兩表以員工ID進行關聯,
則每個職位的平均工資的實現sql如下:
select avg(A.工資) xx
from 員工表 A,職位表 B
where A.員工ID=B.員工ID
group by B.職位
order by xx
❾ 關於員工詳細信息sql的查詢語句
sql server 的寫法,參考下:
select b.departname,c.departname,a.username from usertable a
left join departtable b on a.departid=b.departid
left join departtable c on c.parentID=b.departid
這樣查有可能出現的情況是 同一個人 出現在同一部門的多個科室,但不一定,因為不知道你部門表的數據結構是怎麼的,初步就是這個方法。